Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
ODBC-Anwendungen führen fast alle Datenbankzugriffe aus, indem Transact-SQL Anweisungen ausgeführt werden. Die Form dieser Anweisungen hängt von den Anwendungsanforderungen ab. SQL-Anweisungen können auf folgende Weise erstellt werden:
Hartcodiert
Statische Anweisungen, die von einer Anwendung als feste Aufgabe ausgeführt werden.
Zur Laufzeit erstellt
SQL-Anweisungen, die zur Laufzeit erstellt wurden, mit denen der Benutzer die Anweisung mithilfe allgemeiner Klauseln wie SELECT, WHERE und ORDER BY anpassen kann. Dazu gehören Ad-hoc-Abfragen, die von Benutzern eingegeben wurden.
Der SQL Server-Client-ODBC-Treiber analysiert SQL-Anweisungen nur für ODBC- und ISO-Syntax, die vom Datenbankmodul nicht direkt unterstützt wird, was der Treiber in Transact-SQL transformiert. Alle anderen SQL-Syntaxen werden unverändert an das Datenbankmodul übergeben, wobei SQL Server bestimmt, ob es sich um gültige SQL Server handelt. Dieser Ansatz bietet zwei Vorteile:
Reduzierter Aufwand
Der Verarbeitungsaufwand für den Treiber wird minimiert, da er nur nach einer kleinen Gruppe von ODBC- und ISO-Klauseln suchen muss.
Flexibilität
Programmierer können die Portabilität ihrer Anwendungen anpassen. Um die Portabilität gegenüber mehreren Datenbanken zu verbessern, verwenden Sie in erster Linie ODBC- und ISO-Syntax. Verwenden Sie die entsprechende Transact-SQL Syntax, um für SQL Server spezifische Verbesserungen zu verwenden. Der SQL Server Native Client ODBC-Treiber unterstützt die vollständige Transact-SQL Syntax, sodass ODBC-basierte Anwendungen alle Features in SQL Server nutzen können.
Die Spaltenliste in einer SELECT-Anweisung sollte nur die Spalten enthalten, die zum Ausführen der aktuellen Aufgabe erforderlich sind. Dies reduziert nicht nur die Menge an Daten, die über das Netzwerk gesendet werden, sondern auch die Auswirkungen von Datenbankänderungen auf die Anwendung. Wenn eine Anwendung nicht auf eine Spalte aus einer Tabelle verweist, hat die Anwendung keine Auswirkungen auf änderungen, die an dieser Spalte vorgenommen wurden.