SQL Server Verknüpften Server zu Microsoft Access
Habe ich versucht, die Verwendung von linked Server in SQL Server 2008, indem Sie die folgenden, um den Zugriff auf eine Microsoft Access 2003-Tabelle.
EXEC sp_addlinkedserver access1t, 'OLE DB Provider for Jet', 'Microsoft.Jet.OLEDB.4.0', 'C:\tester.mdb'
EXEC sp_addlinkedsrvlogin access1t, FALSE, Null, Admin, Null
GO
CREATE VIEW TI001APCE1265 AS SELECT * FROM access1t...Table1
Jedoch bekomme ich die Fehlermeldung:
OLE DB provider "Microsoft.Jet.OLEDB.4.0" for linked server "access1t" returned message "Unspecified error".
Msg 7303, Level 16, State 1, Procedure TI001APCE1265, Line 1
Cannot initialize the data source object of OLE DB provider "Microsoft.Jet.OLEDB.4.0" for linked server "access1t".
Es ist kein Passwort/Benutzername auf meine access-Datenbank, aber ein Blick auf die Dokumente, die ich habe verstanden, ich habe das sp_addlinkedsrvlogin wie die oben genannten. Ich habe es versucht ohne Anmeldung.
Bit ich bekomme immer noch den gleichen Fehler - was ist da Los?!
Danke an alle
Debug-Ausgabe
Array ( [0] => Array ( [0] => 42000
[SQLSTATE] = > 42000 [1] => 7303 [code]
=> 7303 [2] => [Microsoft][SQL Server Native Client 10.0][SQL Server]kann Nicht
initialisieren der data-source-Objekt
OLE DB-provider
"Microsoft.Jet.OLEDB.4.0" for linked
server "access1265293168". [Nachricht]
=> [Microsoft][SQL Server Native Client 10.0][SQL Server]kann Nicht
initialisieren der data-source-Objekt
OLE DB-provider
"Microsoft.Jet.OLEDB.4.0" for linked
server "access1265293168". ) [1] =>
Array ( [0] => 01000 [SQLSTATE] =>
01000 [1] => 7412 [code] => 7412 [2]
=> [Microsoft][SQL Server Native Client 10.0][SQL Server]OLE DB
provider "Microsoft.Jet.OLEDB.4.0" für
linked server "access1265293168"
zurückgegebene Meldung "Unbekannter Fehler".
[message] => [Microsoft][SQL Server
Native Client 10.0][SQL Server]OLE DB
provider "Microsoft.Jet.OLEDB.4.0" für
linked server "access1265293168"
zurückgegebene Meldung "Unbekannter Fehler".
) )
NT-AUTORITÄT\SYSTEM funktioniert auch nicht, wenn es ist, dass.
Haben Sie versucht, die Bereitstellung der Jet Standard-Benutzernamen "admin"? Ich weiß nicht, ob es erforderlich ist oder nicht, aber es gibt keine solche Sache, wie das öffnen einer Jet-Daten speichern, ohne dass ein Benutzer beteiligt.
InformationsquelleAutor Abs | 2010-02-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben Sie versucht, mit benannten Parametern?:
Kann es sein Sie müssen nur Ihre server-Namen in einfache Anführungszeichen
'access1t'
.[ Tut Ihr angemeldete Benutzer die Berechtigung zum Zugriff auf das Stammverzeichnis von Laufwerk C:? ]
Ich spielte mit diesem ein wenig, und für mich den Fehler zu haben scheint, wurden aufgrund der Berechtigungen. Wenn ich auf SQL Server angemeldet als Admin-Benutzer für diesen PC, den ich anschließen könnte, um c:\docs\test.mdb wie oben dargestellt, mit anderen über Unordnung, ich konnte nicht.
Ich glaube, seine Berechtigungen/Zeugnisse problem. Ich bin mit diesem
EXEC sp_addlinkedsrvlogin acc465tghv, TRUE
- und das scheint zu funktionieren. Ich bin einfach nur testen und spielen herum mit jetzt.Jet/ACE-Daten speichern beschreibbar sein, um verwendet werden, so dass Sie brauchen, um es zu speichern in einen Speicherort mit lese - /Schreibzugriff für die Windows-Anmeldung laufen Sie, mit. Standardmäßig ist die root von C: ist read-only für nicht-admin-Benutzer (ab Win2000, als eine Angelegenheit von der Tat), es ist also sehr wahrscheinlich, dass das problem ist die NTFS-Berechtigungen auf den root von C: verhindern, dass der schreib-Zugriff, die hier nötig ist.
InformationsquelleAutor Mitch Wheat