asp 及 asp.net – 「Microsoft.ACE.OLEDB.12.0 提供者並未登錄於本機電腦」

asp & asp.net 網頁,  如要讓使用者上傳 新版的office檔案 (包含 Access 2010 (*.mdb, *.accdb) 檔案及 Excel 2010 (*.xls, *.xlsx, *.xlsb) ), 常會用到Microsoft.ACE.OLEDB.12.0這個Provider:
    adr="D:\XXXX\EIP\XXXX\"
    Set conn = Server.CreateObject(“ADODB.Connection") 
    ‘HDR設定:yes或no ,表示第一行是否包含了column名稱
    connStr="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & adr & “;Extended Properties=’Excel 12.0;HDR=Yes'"
    conn.open connstr
 
    Set rs=Server.CreateObject(“ADODB.Recordset") 
 
    sql = “select * from [Sheet1$]"
    rs.open sql,conn
    rows=rs.recordcount
    cells=rs.Fields.Count
 
    Do while not rs.Eof
    xxxxxxxxxx xxxxxxxxxx xxxxxxxxxx xxxxxxxxxx xxxxxxxxxx
    rs.movenext
    Loop
   rs.close
   set rs = nothing
但網頁執行時, 如果遇到  ‘Microsoft.ACE.OLEDB.12.0’ 提供者並未登錄於本機電腦上 , 網路上大部分都說:如需要讀寫2007以上的格式則需於Server上安裝 Microsoft Access Database Engine 2010 可轉散發套件, 但有人安裝後還是一樣無法讀取, 建議先在server安裝2007 Office system 驅動程式:資料連線元件 即可:2007 Office system 驅動程式:資料連線元件
http://www.microsoft.com/zh-tw/download/details.aspx?id=23734

server安裝 2007 Office system 驅動程式:資料連線元件 後, 程式就可以正常運作.

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 變更 )

Twitter picture

You are commenting using your Twitter account. Log Out / 變更 )

Facebook照片

You are commenting using your Facebook account. Log Out / 變更 )

Google+ photo

You are commenting using your Google+ account. Log Out / 變更 )

連結到 %s