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 驅動程式:資料連線元件 後, 程式就可以正常運作.

用LINE分享給朋友:
這篇文章的QR CODE:(用手機掃我)