OPENDATASOURCE (Transact-SQL)
Aktualisiert: 14. April 2006
Stellt Ad-hoc-Verbindungsinformationen als Teil eines vierteiligen Objektnamens ohne Verwendung eines Verbindungsservernamens bereit.
Transact-SQL-Syntaxkonventionen
Syntax
OPENDATASOURCE ( provider_name, init_string )
Argumente
- provider_name
Der als PROGID des OLE DB-Anbieters, mit dem auf die Datenquelle zugegriffen wird, registrierte Name. provider_name ist ein Wert vom Datentyp char und weist keinen Standardwert auf.
init_string
Die Verbindungszeichenfolge, die an die IDataInitialize-Schnittstelle des Zielanbieters übergeben wird. Die Syntax der Anbieterzeichenfolge basiert auf durch Semikolons getrennten Paaren aus Schlüsselwort und Wert in der Form: 'keyword1=value;keyword2=value'.Informationen zu bestimmten, vom Anbieter unterstützten Paaren aus Schlüsselwort und Wert finden Sie im MDAC SDK (Microsoft Data Access Components Software Development Kit). In dieser Dokumentation wird die grundlegende Syntax definiert. In der folgenden Tabelle werden die am häufigsten im init_string-Argument verwendeten Schlüsselwörter aufgelistet.
Schlüsselwort OLE DB-Eigenschaft Gültige Werte und Beschreibung Datenquelle
DBPROP_INIT_DATASOURCE
Name der Datenquelle, mit der eine Verbindung hergestellt werden soll. Unterschiedliche Anbieter interpretieren diesen Namen auf unterschiedliche Arten. Für den OLE DB-Anbieter von SQL Server gibt er den Servernamen an. Für den OLE DB-Anbieter von Jet gibt er den vollständigen Pfad der MDB- oder XLS-Datei an.
Speicherort
DBPROP_INIT_LOCATION
Speicherort der Datenbank, mit der eine Verbindung hergestellt werden soll.
Extended Properties
DBPROP_INIT_PROVIDERSTRING
Anbieterspezifische Verbindungszeichenfolge.
Connect timeout
DBPROP_INIT_TIMEOUT
Timeoutwert, bei dessen Erreichen der Verbindungsversuch einen Fehler erzeugt.
User ID
DBPROP_AUTH_USERID
Für die Verbindung zu verwendende Benutzer-ID.
Kennwort
DBPROP_AUTH_PASSWORD
Für die Verbindung zu verwendendes Kennwort.
Catalog
DBPROP_INIT_CATALOG
Name des Anfangs- oder Standardkatalogs beim Herstellen einer Verbindung mit der Datenquelle.
Integrierte Sicherheit
DBPROP_AUTH_INTEGRATED
SSPI, zur Angabe der Windows-Authentifizierung
Hinweise
OPENDATASOURCE kann nur dann für den Zugriff auf Remotedaten von OLE DB-Datenquellen verwendet werden, wenn die Registrierungsoption DisallowAdhocAccess explizit für den angegebenen Anbieter auf 0 festgelegt und die erweiterte Konfigurationsoption Ad Hoc Distributed Queries aktiviert wird. Werden diese Optionen nicht festgelegt, ist der Ad-hoc-Zugriff im Rahmen des Standardverhaltens nicht möglich.
Die OPENDATASOURCE-Funktion kann an denselben Stellen in der Transact-SQL-Syntax verwendet werden wie ein Verbindungsservername. Deshalb kann OPENDATASOURCE als erster Teil eines vierteiligen Namens verwendet werden, der in einer SELECT-, INSERT-, UPDATE-, oder DELETE-Anweisung auf einen Tabellen- oder Sichtnamen bzw. in einer EXECUTE-Anweisung auf eine remote gespeicherte Prozedur verweist. Beim Ausführen von remote gespeicherten Prozeduren muss OPENDATASOURCE auf eine andere SQL Server-Instanz verweisen. Für die Argumente von OPENDATASOURCE können keine Variablen verwendet werden.
Wie die OPENROWSET-Funktion sollte OPENDATASOURCE nur auf OLE DB-Datenquellen verweisen, auf die selten zugegriffen wird. Definieren Sie Verbindungsserver für Datenquellen, auf die nicht nur ein paar Mal zugegriffen wird. Weder OPENDATASOURCE noch OPENROWSET stellen die gesamte Funktionalität einer Verbindungsserverdefinition bereit, wie die Sicherheitsverwaltung und die Möglichkeit, Kataloginformationen abzufragen. Alle Verbindungsinformationen, einschließlich Kennwörtern, müssen bei jedem Aufruf von OPENDATASOURCE bereitgestellt werden.
Wichtig: |
---|
Die Windows-Authentifizierung bietet eine viel höhere Sicherheit als die SQL Server-Authentifizierung. Sie sollten nach Möglichkeit immer die Windows-Authentifizierung verwenden. OPENDATASOURCE sollte nicht mit expliziten Kennwörtern in der Verbindungszeichenfolge verwendet werden. |
Berechtigungen
Jeder Benutzer kann OPENDATASOURCE ausführen. Die Berechtigungen, die zum Herstellen einer Verbindung mit dem Remoteserver verwendet werden, werden aus der Verbindungszeichenfolge bestimmt.
Beispiele
Im folgenden Beispiel wird eine Ad-hoc-Verbindung mit der Payroll
-Instanz von SQL Server auf dem Server London
erstellt und die AdventureWorks.HumanResources.Employee
-Tabelle abgefragt.
SELECT *
FROM OPENDATASOURCE('SQLNCLI',
'Data Source=London\Payroll;Integrated Security=SSPI')
.AdventureWorks.HumanResources.Employee
Siehe auch
Verweis
OPENROWSET (Transact-SQL)
sp_addlinkedserver (Transact-SQL)
Andere Ressourcen
Verteilte Abfragen
Identifizieren einer Datenquelle mithilfe eines Ad-hoc-Namens
Hilfe und Informationen
Informationsquellen für SQL Server 2005
Änderungsverlauf
Version | Verlauf |
---|---|
14. April 2006 |
|