我試圖建立從SQL Server 2008 R2
到Access database
的鏈接服務器。 Access database
沒有密碼保護。正如我在其他帖子(specifically this one)中看到的,這通常是由於當前用戶無法訪問NetworkService文件夾內的Temp文件夾。由於我們在Windows Server 2008
中執行此操作,所以目錄結構與大多數人不同。我允許訪問"root:\Documents and Settings\" directory
中的每個臨時文件夾,但無濟於事。無法爲鏈接服務器初始化OLE DB提供程序「Microsoft.ACE.OLEDB.12.0」的數據源對象
這是我使用添加鏈接服務器的過程:
EXEC sp_addlinkedserver
@server = N'OS_Access',
@provider = N'Microsoft.ACE.OLEDB.12.0',
@srvproduct = N'',
@datasrc = N'C:\RTBData\Data\OS.mdb';
GO
,它創建一個沒有問題的鏈接服務器,但我不能夠查看數據庫中的表/視圖。同樣,我的ASP.NET應用程序也無法訪問它。
我試過ACE and JET(64-bit)
(通過安裝Office的數據連接組件),它們都不起作用。我也嘗試配置ACE提供商"Dynamic Parameter"
和"Allow InProcess"
爲true。
此外,我試圖在SQL配置管理器"startup parameters"
字符串前添加"-g512;
「排除內存問題正在增加由MSSQLSERVER services
內存使用情況。
如果任何人都可以在此這將是夢幻般的閃耀光芒!謝謝
更新:我登錄到SQL使用sa帳戶,我能夠查看鏈接服務器我現在的用戶帳戶在SQL服務器的完全權限,所以我不確定的區別是什麼。在帳戶之間,也許我給了錯誤的權限文件夾,其中sa帳戶(正在內置)可以訪問。如果有人能夠在這裏指出我正確的方向,那將會很棒,而且我認爲這也會對很多其他人有所幫助。
http://stackoverflow.com/questions/16986756/cannot-initialize-the-data-source-object-of-ole-db-provider-microsoft-ace-oledb/33609865#33609865 – 2015-11-09 13:11:24