Share via


Erstellen einer SQL-Anweisung (ODBC)

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

ODBC-Anwendungen führen fast den gesamten Datenbankzugriff durch Ausführen von Transact-SQL-Anweisungen aus. 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-Abfragen.

Der SQL Server Client ODBC-Treiber analysiert SQL-Anweisungen nur für ODBC- und ISO-Syntax, die nicht direkt von der Datenbank-Engine unterstützt wird, die der Treiber in Transact-SQL transformiert. Alle anderen SQL-Syntaxen werden unverändert an die Datenbank-Engine übergeben, wo SQL Server bestimmt, ob sie SQL Server gültig 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. Verwenden Sie die entsprechende Transact-SQL-Syntax, um 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 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.

Weitere Informationen

Ausführen von Abfragen (ODBC)