Das dataquellenobjekt des OLE DB-Providers "Microsoft.ACE.OLEDB.12.0" kann nicht für den verknüpften server initialisiert werden

Ich versuche, einen verknüpften server von SQL server 2008 R2 zu einer Access database zu Access database . Die Access database ist nicht passwortgeschützt. Wie ich in anderen Beiträgen gesehen habe ( speziell diese ), ist dies in der Regel auf den aktuellen Benutzer nicht Zugriff auf die Temp-Ordner im NetworkService-Ordner. Da wir das in Windows server 2008 laufen lassen, ist die Verzeichnisstruktur ganz anders als das, was die meisten entziehen. Ich habe den Zugriff auf jeden temporären Ordner im "root:\Documents and Settings\" directory erlaubt und ohne Erfolg.

Dies ist die Prozedur, die ich verwende, um den verknüpften server hinzuzufügen:

 EXEC sp_addlinkedserver @server = N'OS_Access', @provider = N'Microsoft.ACE.OLEDB.12.0', @srvproduct = N'', @datasrc = N'C:\RTBData\Data\OS.mdb'; GO 

Es schafft den verknüpften server ohne Problem, aber ich bin nicht in der Lage, die Tabellen / viewen der database zu sehen. Ebenso kann meine ASP.NET-Anwendung auch nicht darauf zugreifen.

Ich habe versucht, sowohl ACE and JET(64-bit) (durch die Installation der Data Connectivity Components für Office), und sie beide nicht funktionieren. Ich habe auch versucht, den ACE-Provider mit "Dynamic Parameter" und "Allow InProcess" auf true zu "Allow InProcess" .

Darüber hinaus habe ich versucht, die memoryverwendung durch die MSSQLSERVER services durch Hinzufügen von "-g512; " vor "startup parameters" String in SQL-configurations-Manager, um memory Probleme auszuschließen.

Wenn jemand etwas beleuchten könnte, wäre das fantastisch! Vielen Dank!

UPDATE: Ich habe mich bei SQL mit dem sa-Account angemeldet und konnte den verknüpften server anzeigen. Mein aktuelles Benutzerkonto hat volle permissions im SQL-server, also bin ich unsicher, was der Unterschied zwischen den Konten ist. Vielleicht gab ich permissions für den falschen Temp Ordner, in dem das sa-Konto (eingebaut) Zugriff hat. Wenn jemand mir in die richtige Richtung zeigen könnte, wäre das toll, und ich denke, es würde auch vielen anderen Leuten helfen.

Ich habe das Problem behoben, indem du UAC im Control Panel deaktiviert hast. Ich bin unsicher, was das geändert hat, aber es könnte anderen helfen!

 USE [master] GO EXEC sp_configure 'show advanced options', 1 RECONFIGURE GO EXEC sp_configure 'ad hoc distributed queries', 1 RECONFIGURE GO USE [master] GO EXEC master . dbo. sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0' , N'AllowInProcess' , 1 GO EXEC master . dbo. sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0' , N'DynamicParameters' , 1 GO SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0','Name & Location of DB';;, [TableName])