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.
Konformität
Eingeführte Version: ODBC 3.0 Normenkonformität: ISO 92
Summary
SQLGetEnvAttr gibt die aktuelle Einstellung eines Umgebungsattributs zurück.
Syntax
SQLRETURN SQLGetEnvAttr(
SQLHENV EnvironmentHandle,
SQLINTEGER Attribute,
SQLPOINTER ValuePtr,
SQLINTEGER BufferLength,
SQLINTEGER * StringLengthPtr);
Argumente
EnvironmentHandle
[Eingabe] Umwelt-Kontrolle.
Attribut
[Eingabe] Attribut zum Abrufen.
ValuePtr
[Ausgabe] Zeiger auf einen Puffer, in dem der aktuelle Wert des durch Attribut angegebenen Attributs zurückgegeben wird.
Wenn ValuePtr NULL ist, gibt StringLengthPtr weiterhin die Gesamtzahl der Bytes zurück (ohne das Null-Terminationszeichen für Zeichendaten), die im von ValuePtr gezeigten Puffer zurückgegeben werden können.
BufferLength
[Eingabe] Wenn ValuePtr auf eine Zeichenkette zeigt, sollte dieses Argument die Länge von *ValuePtr sein. Wenn *ValuePtr eine ganze Zahl ist, wird BufferLength ignoriert. Wenn *ValuePtr eine Unicode-Zeichenkette ist (beim Aufruf von SQLGetEnvAttrW), muss das BufferLength-Argument eine gerade Zahl sein. Wenn der Attributwert keine Zeichenfolge ist, wird BufferLength nicht verwendet.
StringLengthPtr
[Ausgabe] Ein Zeiger auf einen Puffer, in dem die Gesamtzahl der Bytes (ohne das Null-Terminationszeichen) zurückgegeben werden kann, die in *ValuePtr zurückgegeben werden können. Wenn der Attributwert eine Zeichenkette ist und die Anzahl der zurückgegebenen Bytes größer oder gleich BufferLength ist, werden die Daten in *ValuePtr auf BufferLength minus die Länge eines Null-Terminationszeichens abgeschnitten und vom Treiber null-terminiert.
Rücklieferungen
SQL_SUCCESS, SQL_SUCCESS_WITH_INFO, SQL_NO_DATA, SQL_ERROR oder SQL_INVALID_HANDLE.
Diagnostics
Wenn SQLGetEnvAttr SQL_ERROR oder SQL_SUCCESS_WITH_INFO zurückgibt, kann ein zugehöriger SQLSTATE-Wert erhalten werden, indem SQLGetDiagRec mit einem HandleType von SQL_HANDLE_ENV und einem Handle von EnvironmentHandle aufgerufen wird. Die folgende Tabelle listet die SQLSTATE-Werte auf, die häufig von SQLGetEnvAttr zurückgegeben werden, und erklärt jeden einzelnen im Kontext dieser Funktion; die Notation "(DM)" geht den vom Treibermanager zurückgegebenen SQLSTATE-Beschreibungen voraus. Der rückgabecode, der jedem SQLSTATE-Wert zugeordnet ist, ist SQL_ERROR, sofern nicht anders angegeben.
| SQLSTATE | Fehler | Description |
|---|---|---|
| 01000 | Allgemeiner Warnhinweis | Treiberspezifische Informationsmeldung. (Funktion gibt SQL_SUCCESS_WITH_INFO zurück.) |
| 01004 | Zeichenfolgendaten, rechts abgeschnitten | Die in *ValuePtr zurückgegebenen Daten wurden auf BufferLength minus das Null-Terminationszeichen abgeschnitten. Die Länge des untrunkierten Stringwerts wird in *StringLengthPTR zurückgegeben. (Funktion gibt SQL_SUCCESS_WITH_INFO zurück.) |
| HY000 | Allgemeiner Fehler | Es ist ein Fehler aufgetreten, für den kein spezifischer SQLSTATE-Wert vorhanden war und für den keine implementierungsspezifische SQLSTATE definiert wurde. Die von SQLGetDiagRec im *MessageText-Puffer zurückgegebene Fehlermeldung beschreibt den Fehler und dessen Ursache. |
| HY001 | Speicherzuweisungsfehler | Der Treiber konnte speicher nicht zuordnen, der erforderlich ist, um die Ausführung oder den Abschluss der Funktion zu unterstützen. |
| HY010 | Funktionssequenzfehler | (DM) SQL_ATTR_ODBC_VERSION wurde noch nicht über SQLSetEnvAttr eingestellt. Sie müssen SQL_ATTR_ODBC_VERSION nicht explizit festlegen, wenn Sie SQLAllocHandleStd verwenden. |
| HY013 | Speicherverwaltungsfehler | Der Funktionsaufruf konnte nicht verarbeitet werden, da auf die zugrunde liegenden Speicherobjekte nicht zugegriffen werden konnte, möglicherweise aufgrund geringer Arbeitsspeicherbedingungen. |
| HY092 | Ungültige Attribut-/Options-Identifikator | Der für das Argument Attribut angegebene Wert war für die vom Treiber unterstützte Version von ODBC nicht gültig. |
| HY117 | Die Verbindung wird aufgrund des unbekannten Transaktionsstatus angehalten. Es sind nur Trenn- und schreibgeschützte Funktionen zulässig. | (DM) Weitere Informationen zum angehaltenen Zustand finden Sie unter SQLEndTran Function. |
| HYC00 | Optionales Feature wurde nicht implementiert | Der für das Argument-Attribut angegebene Wert war ein gültiges ODBC-Umgebungsattribut für die vom Treiber unterstützte ODBC-Version, jedoch nicht vom Treiber. |
| IM001 | Dieser Treiber unterstützt diese Funktion nicht. | (DM) Der Treiber, der dem EnvironmentHandle entspricht, unterstützt diese Funktion nicht. |
Kommentare
Eine Liste der Attribute finden Sie unter SQLSetEnvAttr. Es gibt keine fahrerspezifischen Umgebungsattribute. Wenn Attribute ein Attribut angibt, das eine Zeichenkette zurückgibt, muss ValuePtr ein Zeiger auf einen Puffer sein, in dem die Zeichenkette zurückgegeben wird. Die maximale Länge des Strings, einschließlich des Null-Terminierungsbytes, beträgt BufferLength-Bytes .
SQLGetEnvAttr kann jederzeit zwischen der Zuweisung und dem Freigeben eines Umgebungshandles aufgerufen werden. Alle von der Anwendung für die Umgebung erfolgreich gesetzten Umgebungsattribute bleiben bestehen, bis SQLFreeHandle auf dem EnvironmentHandle mit einem HandleType von SQL_HANDLE_ENV aufgerufen wird. In ODBC 3*.x* können gleichzeitig mehr als ein Umgebungshandle zugewiesen werden. Ein Umgebungsattribut in einer Umgebung wird nicht beeinflusst, wenn eine andere Umgebung zugewiesen wurde.
Note
Das Attribut SQL_ATTR_OUTPUT_NTS Umgebung wird von standardkonformen Anwendungen unterstützt. Wenn SQLGetEnvAttr aufgerufen wird, gibt der ODBC 3*.x* Driver Manager immer SQL_TRUE für dieses Attribut zurück. SQL_ATTR_OUTPUT_NTS kann nur durch einen Aufruf von SQLSetEnvAttr auf SQL_TRUE gesetzt werden.
Verwandte Funktionen
| Weitere Informationen zu | Siehe |
|---|---|
| Zurückgeben der Einstellung eines Verbindungsattributes | SQLGetConnectAttr-Funktion |
| Zurückgeben der Einstellung eines Anweisungsattributs | SQLGetStmtAttr-Funktion |
| Festlegen eines Verbindungsattributes | SQLSetConnectAttr-Funktion |
| Einstellung eines Umgebungsattributs | SQLSetEnvAttr Funktion |
| Festlegen eines Anweisungsattributs | SQLSetStmtAttr-Funktion |