Freigeben über


Erstellen einer SQL-Anweisung (ODBC)

In ODBC-Anwendungen werden fast alle Datenbankzugriffe mithilfe von Transact-SQL-Anweisungen ausgeführt. Die Form dieser Anweisungen richtet sich nach den Anforderungen der Anwendung. SQL-Anweisungen können auf folgende Weise gebildet werden:

  • Hartcodiert

    Statische Anweisungen, die von einer Anwendung als feste Aufgabe ausgeführt werden.

  • Zur Laufzeit

    SQL-Anweisungen, die zur Laufzeit gebildet werden und es den Benutzern ermöglichen, die Anweisung mit gängigen Klauseln wie SELECT, WHERE und ORDER BY anzupassen. Hierzu gehören auch von den Benutzern eingegebene Ad-hoc-Anfragen.

Der ODBC-Treiber des SQL Server-Clients analysiert SQL-Anweisungen nur nach ODBC- und ISO-Syntax, die vom Database Engine (Datenbankmodul) nicht direkt unterstützt wird. Der Treiber wandelt diese in Transact-SQL um. Jede andere SQL-Syntax wird wie vorliegend an das Database Engine (Datenbankmodul) weitergeleitet, und SQL Server überprüft, ob sie in SQL Server zulässig ist. Dieser Ansatz hat zwei Vorteile:

  • Geringerer Arbeitsaufwand

    Der Arbeitsaufwand des Treibers wird minimiert, weil er nur eine kleine Anzahl von ODBC- und ISO-Klauseln überprüfen muss.

  • Flexibilität

    Programmierer können die Portabilität ihrer Anwendungen anpassen. Um die Portabilität für mehrere Datenbanken zu verbessern, verwenden Sie primär die ODBC- und ISO-Syntax. Um die SQL Server-spezifischen Erweiterungen zu verwenden, verwenden Sie die entsprechende Transact-SQL-Syntax. Der ODBC-Treiber von SQL Server Native Client unterstützt die gesamte Transact-SQL-Syntax, sodass auf ODBC basierende Anwendungen die Vorteile sämtlicher Features von SQL Server nutzen können.

Die Spaltenliste der SELECT-Anweisung sollte nur die Spalten enthalten, die zur Ausführung der aktuellen Aufgabe erforderlich sind. Dadurch werden nicht nur weniger Daten über das Netzwerk gesendet, sondern Datenbankänderungen wirken sich in geringerem Umfang auf die Anwendung aus. Wenn eine Anwendung nicht auf eine Spalte einer Tabelle verweist, dann ist die Anwendung von keinerlei Änderungen betroffen, die an dieser Spalte vorgenommen werden.

Siehe auch

Konzepte