Nie można zainicjować obiektu źródła danych dostawcy OLE DB „Microsoft.ACE.OLEDB.12.0” dla serwera połączonego

Próbuję ustanowić serwer połączony zSQL Server 2008 R2 doAccess database. TheAccess database nie jest chroniony hasłem. Jak widziałem w innych postach (konkretnie ten), zwykle jest to spowodowane tym, że bieżący użytkownik nie ma dostępu do folderu Temp w folderze NetworkService. Od kiedy to uruchamiamyWindows Server 2008, struktura katalogów jest zupełnie inna niż w większości przypadków. Pozwoliłem na dostęp do każdego folderu tymczasowego w"root:\Documents and Settings\" directoryi bezskutecznie.

Jest to procedura, której używam, aby dodać serwer połączony:

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

Tworzy połączony serwer bez problemu, ale nie jestem w stanie wyświetlić tabel / widoków bazy danych. Podobnie moja aplikacja ASP.NET nie może uzyskać do niej dostępu.

Próbowałem obuACE and JET(64-bit)(instalując komponenty Data Connectivity dla pakietu Office) i oba nie działają. Próbowałem również skonfigurować dostawcę ACE za pomocą"Dynamic Parameter" i"Allow InProcess" do prawdy.

Ponadto próbowałem zwiększyć wykorzystanie pamięci przezMSSQLSERVER services poprzez dodanie"-g512;" przed"startup parameters" ciąg w menedżerze konfiguracji SQL, aby wykluczyć problemy z pamięcią.

Gdyby ktoś mógł rzucić na to trochę światła, byłoby fantastycznie! Dzięki!

AKTUALIZACJA: Zalogowałem się do SQL za pomocą konta sa i mogłem wyświetlić połączony serwer. Moje obecne konto użytkownika ma pełne uprawnienia na serwerze SQL, więc nie jestem pewien, jaka jest różnica między kontami. Może dałem pozwolenia na złeTemp folder, do którego dostęp ma konto sa (wbudowane). Gdyby ktoś mógł wskazać mi właściwy kierunek, byłoby wspaniale i myślę, że pomogłoby to również wielu innym ludziom.

questionAnswers(2)

yourAnswerToTheQuestion