ENIX.DQ 發表於 2015-4-29 13:34:13

同時安裝64位元與32位元的Access Database Engine 2010

參考資料:http://sharedderrick.blogspot.tw/2013/04/access-database-engine-2010-64-32.html

前言:為了將SQL Server 2005(32bit)升級到到SQL Server 2014 Express,面臨到了一些相容性的問題,本篇文章旨在解決classic asp 使用 ADODB.Connection 直接連結讀取 EXCEL 檔案時遇到的相容性問題。

問題說明:

將SQL Server升級到2014 64bit版,由於日常作業時,需要使用SQL Server Management Studio對EXCEL檔案進行SELECT操作,因此已安裝64bit的Access Database Engine 2010 與Office 2010 plus ,此一狀況卻造成某些使用ADODB.Connection在open 字串【"Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties='Excel 12.0;HDR=YES;IMEX=0';Data Source=" & xlsxFileName】時,因為沒有「Microsoft.ACE.OLEDB.12.0」而產生問題,總之就是classic asp找不到64位元的「Microsoft.ACE.OLEDB.12.0」。

若改成【"Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties='Excel 8.0;HDR=YES;IMEX=0';Data Source=" & xlsxFileName】,則可以連接到檔案,但是無法相容於XLSX檔。

但在預設狀態下,安裝程式系統不允許同時安裝32與64位元的Access Database Engine 2010 ,因此,必須通過外加參數的方式強制安裝不同位元版本的Access Database Engine 2010。

環境設定

作業系統:Windows7 SP1 (IIS7.5) 64bit
SQL Server 資料庫:SQL Server 2014 Express (64bit)
已安裝: Access Database Engine 2010 (64bit) 與 Office 2010 plus (64bit)
其他:Windows update已更新到最新狀態(2015/04/29)

解決方法:

在命令提示字元下,執行(此處範例強制安裝的是32位元的Access Database Engine 2010 ):

AccessDatabaseEngine.exe /passive

頁: [1]
查看完整版本: 同時安裝64位元與32位元的Access Database Engine 2010