標籤:字串 作業系統 64位 檔案格式 windows 32位 logs 調用 安裝
從Excel中匯入資料時,提示“未在本機電腦上註冊“Microsoft.ACE.OLEDB.12.0”提供者”的解決辦法
作業系統:使用的是64位的Windows Server 2008
解決辦法:
這是由於該電腦上沒有安裝Microsoft Access Database Engine組件,該組件協助在現有的Microsoft Office檔案與其他資料來源之間傳輸資料。 在向軟體中匯入資料時,如果資料來源選用Excel時,連接字串中使用的是“Microsoft.ACE.OLEDB.12.0”,所以必須安裝該組件。 對於使用64位作業系統的使用者,請下載相應的64位程式。 具體:http://www.microsoft.com/downloads/details.aspx?FamilyID=c06b8369-60dd-4b64-a44b-84b371ede16d&displayLang=zh-cn 對於一些早期使用者,如果連接字串中使用的是“Microsoft.Jet.OLEDB.4.0”,由於Jet項目已經停止,該項目不再提供64位程式,所以無法繼續使用此種串連方式,請改用“Microsoft.ACE.OLEDB.12.0”,並在伺服器上安裝相應的64位程式。 如果進行如上操作還是不能解決的話,請參照如下方法:
調用C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\DTExec.exe一定要是(X86)這個檔案夾下的哦,這個命令列工具的具體用法可以查看MSDN
總結如下:
1. 在用SQL SERVER訪問.xlsx檔案(office2007&2010檔案格式)時,必須用provider ‘Microsoft.ACE.OLEDB.12.0‘ 來實現。
2. 首先要安裝AccessDatabaseEngine.exe。 下載路徑:http://www.microsoft.com/downloads/details.aspx?familyid=7554F536-8C28-4598-9B72-EF94E038C891&displaylang=en
3. 在32位系統中可以在資料庫中看見這個provider。
4. 在64位系統中不能看見它,這時需調用 C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\DTExec.exe來執行package。
未在本機電腦上註冊“Microsoft.ACE.OLEDB.12.0