Freigeben über


Überprüfungen des Argumentwerts

Der Treiber-Manager überprüft die folgenden Typen von Argumenten. Sofern nicht anders angegeben, gibt der Treiber-Manager SQL_ERROR für Fehler in Argumentwerten zurück.

  • Umgebungs-, Verbindungs- und Anweisungshandles dürfen in der Regel keine NULL-Zeiger sein. Der Treiber-Manager gibt SQL_INVALID_HANDLE zurück, wenn ein NULL-Handle gefunden wird.

  • Erforderliche Zeigerargumente, z . B. OutputHandlePtr in SQLAllocHandle und CursorName in SQLSetCursorName, dürfen keine NULL-Zeiger sein.

  • Option flags that do not support driver-specific values must be a legal value. Beispielsweise muss der Vorgang in SQLSetPos SQL_POSITION, SQL_REFRESH, SQL_UPDATE, SQL_DELETE oder SQL_ADD sein.

  • Option flags must be supported in the version of ODBC supported by the driver. Beispielsweise kann InfoType in SQLGetInfo beim Aufrufen eines ODBC 2.0-Treibers nicht SQL_ASYNC_MODE werden (eingeführt in ODBC 3.0).

  • Spalten- und Parameterzahlen müssen je nach Funktion größer als 0 oder größer oder gleich 0 sein. Der Treiber muss die Obergrenze dieser Argumentwerte basierend auf dem aktuellen Resultset oder der SQL-Anweisung überprüfen.

  • Längen-/Indikatorargumente und Datenpufferlängenargumente müssen entsprechende Werte enthalten. Beispielsweise muss das Argument, das die Länge eines Tabellennamens in SQLColumns (NameLength3) angibt, SQL_NTS oder einen Wert größer als 0 sein; BufferLength in SQLDescribeCol muss größer oder gleich 0 sein. Der Treiber muss diese Argumente möglicherweise auch überprüfen. Beispielsweise kann überprüft werden, ob NameLength3 kleiner oder gleich der maximalen Länge eines Tabellennamens in der Datenquelle ist.