Von verteilten Abfragen verwendete OLE DB-Objekte
Die folgende Tabelle zeigt die OLE DB-Objekte und -Schnittstellen, die von verteilten Transact-SQL-Abfragen verwendet werden. Ein OLE DB-Anbieter muss bestimmte Objekte und Schnittstellen unterstützen, damit er in verteilten Transact-SQL-SQL-Abfragen verwendet werden kann. Diese Objekte und Schnittstellen sind in der Spalte Erforderlich der Tabelle mit Ja gekennzeichnet. Die Objekte und Schnittstellen mit Nein in der Spalte Erforderlich werden nur zur Unterstützung erweiterter Abfragefunktionen benötigt. Wenn die Schnittstelle nicht vom Anbieter unterstützt wird, werden auch damit verbundene Transact-SQL-Funktionen nicht unterstützt. Werden z. B. die Schnittstellen IRowsetLocate und IRowsetChange nicht unterstützt, können UPDATE- oder DELETE-Anweisungen nicht auf Remotetabellen angewendet werden.
Objekt | Schnittstelle | Erforderlich | Beschreibung |
---|---|---|---|
Datenquelle |
IDBInitialize |
Ja |
Initialisieren und Einrichten von Daten und Sicherheitskontext. |
|
IDBCreateSession |
Ja |
Erstellen eines DB-Sitzungsobjekts. |
|
IDBProperties |
Ja |
Abrufen von Informationen über die Möglichkeiten des Anbieters und Festlegen von Initialisierungseigenschaften. |
|
IDBInfo |
Nein |
Abrufen von Informationen über die vom Anbieter unterstützte SQL-Syntax. |
DB-Sitzung |
IDBSchemaRowset |
Nein |
Abrufen von Tabellen und Spaltenmetadaten. Erforderliche Rowsets sind TABLES und COLUMNS. Andere ggf. verwendete Rowsets sind TABLES_INFO, CATALOGS, INDEXES, STATISTICS, TABLE_STATISTICS, VIEWS, PRIMARY_KEYS, TABLE_PRIVILEGES und COLUMN_PRIVILEGES. |
|
IOpenRowset |
Ja |
Öffnen eines Rowsets für eine Tabelle, einen Index oder ein Histogramm. |
|
IGetDataSource |
Ja |
Zurückkehren zum Datenquellenobjekt von einem DB-Sitzungsobjekt. |
|
IDBCreateCommand |
Nein |
Erstellen eines Befehlsobjekts (Abfrage). |
|
ITransactionLocal |
Nein |
Starten einer Transaktion auf dem Anbieter. |
|
ITransactionJoin |
Nein |
Unterstützen verteilter Transaktionen. Wenn diese Schnittstelle nicht unterstützt wird, können in einer Benutzertransaktion keine Aktualisierungen an einem Remoteanbieter durchgeführt werden. |
Rowset (bei einer Tabelle) |
IRowset |
Ja |
Scannen von Zeilen. |
|
IAccessor |
Ja |
Binden an Spalten in einem Rowset. |
|
IColumnsInfo |
Ja |
Abrufen von Informationen über Spalten in einem Rowset. |
|
IRowsetInfo |
Ja |
Abrufen von Informationen über Rowseteigenschaften. |
|
IRowsetLocate |
Nein |
Erforderlich für UPDATE- oder DELETE-Vorgänge und indexbasierte Suchvorgänge. |
|
IRowsetChange |
Nein |
Erforderlich für INSERT-, UPDATE- oder DELETE-Vorgänge in einer Tabelle. Rowsets für Basistabellen sollten diese Schnittstelle zur Unterstützung von INSERT-, UPDATE- oder DELETE-Anweisungen unterstützen. |
|
IConvertType |
Ja |
Prüfen, ob ein Rowset bestimmte Datentypkonvertierungen seiner Spalten unterstützt. |
Rowset (bei einem Index) |
IRowset |
Ja |
Scannen von Zeilen. |
|
IAccessor |
Ja |
Binden an Spalten in einem Rowset. |
|
IColumnsInfo |
Ja |
Abrufen von Informationen über Spalten in einem Rowset. |
|
IRowsetInfo |
Ja |
Abrufen von Informationen über Rowseteigenschaften. |
|
IRowsetIndex |
Ja |
Erforderlich für Rowsets in einem Index; verwendet für Indizierungsfunktionen (Bereich festlegen, Suchen). |
|
IConvertType |
Ja |
Prüfen, ob das Rowset bestimmte Datentypkonvertierungen seiner Spalten unterstützt. |
Befehl (optional) |
ICommand |
Ja |
Ausführen von Abfragen. |
|
ICommandText |
Ja |
Definieren des Abfragetextes. |
|
ICommandProperties |
Ja |
Angeben erforderlicher Eigenschaften für vom Befehl zurückgegebene Rowsets. |
|
ICommandWithParameters |
Nein |
Parametrisierte Abfrageausführung. |
|
ICommandPrepare |
Nein |
Vorbereiten eines Befehls zum Abrufen von Metadaten. |
Fehler (optional) |
IErrorRecords |
Ja |
Abrufen eines Zeigers auf eine IErrorInfo-Schnittstelle für einen Fehlerdatensatz. |
|
IErrorInfo |
Ja |
Abrufen einer Textbeschreibung eines Fehlerdatensatzes. |
Beliebiges Objekt (optional) |
ISupportErrorInfo |
Nein |
Bestimmen, ob eine bestimmte Schnittstelle Fehlerobjekte unterstützt. |
Siehe auch
Konzepte
OLE DB-Anbieter-Referenz für verteilte Abfragen