Erstellen einer SQL-Anweisung (ODBC)

Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

ODBC-Anwendungen führen fast alle Datenbankzugriffe 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 vom Datenbank-Engine nicht direkt unterstützt wird, was der Treiber in Transact-SQL transformiert. Alle anderen SQL-Syntaxen werden an die Datenbank-Engine unverändert übergeben, wobei SQL Server bestimmt, ob 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 spezifische Verbesserungen für SQL Server zu verwenden. Der ODBC-Treiber des nativen SQL Server-Clients 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)