Teilen über


Von Katalogfunktionen zurückgegebene Daten

Jede Katalogfunktion gibt Daten als Resultset zurück. Dieser Resultset unterscheidet sich nicht von einem anderen Resultset. Sie wird in der Regel durch eine vordefinierte, parametrisierte SELECT-Anweisung generiert, die im Treiber hartcodiert ist oder in einer Prozedur in der Datenquelle gespeichert ist. Informationen zum Abrufen von Daten aus einem Resultset finden Sie unter "Wurde ein Resultset erstellt?".

Das Resultset für jede Katalogfunktion wird im Referenzeintrag für diese Funktion beschrieben. Zusätzlich zu den aufgelisteten Spalten kann das Resultset treiberspezifische Spalten nach der letzten vordefinierten Spalte enthalten. Diese Spalten (sofern vorhanden) werden in der Treiberdokumentation beschrieben.

Anwendungen sollten treiberspezifische Spalten relativ zum Ende des Resultsets binden. Das heißt, sie sollten die Anzahl einer treiberspezifischen Spalte als die Nummer der letzten Spalte berechnen, die mit SQLNumResultCols abgerufen wird, weniger die Anzahl der Spalten, die nach der erforderlichen Spalte auftreten. Dadurch muss die Anwendung geändert werden, wenn dem Resultset in zukünftigen Versionen von ODBC oder treiber neue Spalten hinzugefügt werden. Damit dieses Schema funktioniert, müssen Treiber neue treiberspezifische Spalten vor alten treiberspezifischen Spalten hinzufügen, damit Spaltennummern nicht relativ zum Ende des Resultsets geändert werden.

Bezeichner, die im Resultset zurückgegeben werden, werden nicht zitiert, auch wenn sie Sonderzeichen enthalten. Angenommen, das Bezeichner-Anführungszeichen (das treiberspezifisch ist und über SQLGetInfo zurückgegeben wird) ist ein doppeltes Anführungszeichen (") und die Tabelle "Kontenzahl" enthält eine Spalte mit dem Namen "Kundenname". In der Zeile, die von SQLColumns für diese Spalte zurückgegeben wird, lautet der Wert der Spalte "TABLE_NAME" "Kreditorenzahl", nicht "Kreditorenabrechnung", und der Wert der Spalte COLUMN_NAME ist "Kundenname", nicht "Kundename". Um die Namen von Kunden in der Tabelle "Kontenzahl" abzurufen, würde die Anwendung folgende Namen anführungszeichen:

SELECT "Customer Name" FROM "Accounts Payable"  

Weitere Informationen finden Sie unter "Kennungen in Anmerkungen".

Die Katalogfunktionen basieren auf einem SQL-ähnlichen Autorisierungsmodell, bei dem eine Verbindung basierend auf einem Benutzernamen und Kennwort hergestellt wird, und nur Daten, für die der Benutzer über eine Berechtigung verfügt, werden zurückgegeben. Der Kennwortschutz einzelner Dateien, die nicht in dieses Modell passen, ist treiberdefiniert.

Die von den Katalogfunktionen zurückgegebenen Resultsets sind fast nie aktualisierbar, und Anwendungen sollten nicht erwarten, dass sie die Struktur der Datenbank ändern können, indem Sie die Daten in diesen Resultsets ändern.