insert into opendatasource('Microsoft.Jet.OLEDB.4.0','Data Source=c:/Customers.mdb;Jet OLEDB:Database Password=123456;User ID=Admin;Password=;')...Emploee
(PNo, PName) select 人員代號, 姓名,部門代號
在SQL2008執行出錯
無法初始化連結伺服器 "(null)" 的 OLE DB 提供者 "Microsoft.Jet.OLEDB.4.0" 的資料來源物件。
連結伺服器 "(null)" 的 OLE DB 提供者 "Microsoft.Jet.OLEDB.4.0" 傳回訊息 "無法指出的錯誤"。
簡體:
无法初始化链接服务器 "(null)" 的 OLE DB 访问接口 "Microsoft.Jet.OLEDB.4.0" 的数据源对象
链接服务器"(null)"的 OLE DB 访问接口 "Microsoft.Jet.OLEDB.4.0" 返回了消息 "未指定的错误"。
大概歸類為以下兩種原因:
1. SQL 啟動帳號對TMP及TEMP資料夾沒有權限.
2. SQL啟動帳號對Access檔案所在資料夾沒有權限.
但我們已經試過以上的設定.
我想可以再試一下以下的步驟:
1. 從SQL Server, 展開[Server Objects]/[Linked Server], 找到Microsoft.Jet.OLEDB.4.0 driver, 在上面按右鍵, 選擇Property.
2. 不要勾選[Allow Inprocess], 測試是否能成功.
3. 安排時間重新開機, 再測試是否能成功.
4. 建另一個新的Access檔案, 看看是不是可以成功. 您可以只用
Select * from opendatasource(…) 來測試就可以.
這個控制項如果啟用, 就會把Access的process包在SQL process裡一起跑. 不啟用就是讓他分開跑.這樣access端有錯誤就不會丟回SQL Server. 我想您access端雖然有問題但是不影響執行, 因此只要讓它不丟回SQL Server就好了.
關於兩者效能的差別, 官方的部落格有提到如果不選allow in process可能效能會差一些.
這個選項主要是給一些third party的provider, 例如 Oracle, 在做linked server的時候不能跟SQL Server分開跑, 因此必須設定這個選項. 在正常情況下, 勾或不勾都是可以執行的.
參考以下資料:
Msg 7399 – OLE DB provider “MSDASQL” - The provider reported an unexpected catastrophic failure
http://blogs.msdn.com/john_daskalakis/archive/2009/11/13/9921916.aspx
如何在 SQL Server 中設定並疑難排解 Oracle 資料庫的連結伺服器
http://support.microsoft.com/kb/280106
Linked Server Properties (Provider Options Page)
http://msdn.microsoft.com/en-us/library/ms188095.aspx
之前的問題, 由於windows 2008上自己有Windows Dac, 因此可能因為您在安裝舊版的mdac後,或是因為其他原因 driver有問題. 但是因為Windows Dac不能單獨下載, 所以無法還原. 目前的常用的解法就是rebuild 電腦, 或是下載之前提供的Office 2007 System Driver, 然後修改connection string來使用新的provider.
另外SQL 2008建議使用Native Client 10.0來查詢.
您可以在以下連結下載2008 Native Client:
http://go.microsoft.com/fwlink/?LinkId=123717&clcid=0x409
完整下載頁面請參考以下連結:
Microsoft SQL Server 2008 Feature Pack, August 2008
2008 Native client只支援 windows 2003以上的版本, 若您的電腦為Windows 2003以下, 麻煩您使用sql 2005的native client. 下載位置:
完整下載網址:
Feature Pack for Microsoft SQL Server 2005 - November 2005