SQLGetEnvAttr függvény

Megfelelőség
Bemutatott verzió: ODBC 3.0 szabványoknak megfelelés: ISO 92

Summary
Az SQLGetEnvAttr egy környezeti attribútumnak aktuális beállítását adja vissza.

Syntax

  
SQLRETURN SQLGetEnvAttr(  
     SQLHENV        EnvironmentHandle,  
     SQLINTEGER     Attribute,  
     SQLPOINTER     ValuePtr,  
     SQLINTEGER     BufferLength,  
     SQLINTEGER *   StringLengthPtr);  

Arguments

EnvironmentHandle
[Bemenet] Környezet kezelése.

Attribútum
[Bemenet] Attribútumot a visszahíváshoz.

ValuePtr
[Kimenet] Mutató egy pufferre, amelyben az attribútum által megadott attribútum aktuális értékét lehet visszaadni.

Ha a ValuePtr NULL, akkor a StringLengthPtr továbbra is visszaadja a ValuePtr által mutatott pufferben elérhető összes bájtszámot (kivéve a null-terminációs karaktert a karakteradatokhoz).

BufferLength
[Bemenet] Ha a ValuePtr egy karakterláncra mutat, ennek az érvelnek a *ValuePtr hosszúságának kell lennie. Ha a *ValuePtr egész szám, akkor a BufferLength-et figyelmen kívül hagyjuk. Ha a *ValuePtr Unicode string (amikor az SQLGetEnvAttrW hívásakor), akkor a BufferLength érvnek páros számnak kell lennie. Ha az attribútumérték nem karakterlánc, a BufferLength nem lesz használatban.

StringLengthPtr
[Kimenet] Egy puffermutató, amelyben vissza lehet adni a * ValuePtr-ben elérhető összes bájt számot (a null-terminációs karakter kivételével). Ha az attribútumérték egy karakterlánc, és a visszaadható bájtok száma nagyobb, mint a BufferLength, akkor a *ValuePtr adatai BufferLength-re levonva egy null-terminációs karakter hosszára csökkennek, és a meghajtó null-terminálja őket.

Returns

SQL_SUCCESS, SQL_SUCCESS_WITH_INFO, SQL_NO_DATA, SQL_ERROR vagy SQL_INVALID_HANDLE.

Diagnostics

Amikor az SQLGetEnvAttr SQL_ERROR vagy SQL_SUCCESS_WITH_INFO értéket ad vissza, egy hozzárendelt SQLSTATE érték elérhető SQLGetDiagRec hívásával, amely egy SQL_HANDLE_ENV HandleType és egy EnvironmentHandle Handle nevű HandleType ( HandleType ) ( EnvironmentHandle) segítségével érhető el. Az alábbi táblázat felsorolja az SQLGetEnvAttr által gyakran visszaadott SQLSTATE értékeket, és mindegyiket a függvény kontextusában magyarázza meg; a "(DM)" jelölés megelőzi a Driver Manager által visszaadott SQLSTATE-leírásokat. Az egyes SQLSTATE-értékekhez társított visszatérési kód SQL_ERROR, kivéve, ha másként van feltüntetve.

SQLSTATE Hiba Leírás
01000 Általános figyelmeztetés Illesztőprogram-specifikus tájékoztató üzenet. (A függvény SQL_SUCCESS_WITH_INFO ad vissza.)
01004 Sztringadatok, jobb csonkolt A *ValuePtr fájlban visszaadott adatokat BufferLength-re vágták le, levonva a null-terminációs karaktert. A csonkolatlan string értékének hosszát a *StringLengthPtr-ben adjuk vissza. (A függvény SQL_SUCCESS_WITH_INFO ad vissza.)
HY000 Általános hiba Hiba történt, amely miatt nem volt konkrét SQLSTATE, és amelyhez nem definiáltak implementációspecifikus SQLSTATE-t. Az SQLGetDiagRec által a *MessageText pufferben visszaadott hibaüzenet leírja a hibát és annak okát.
HY001 Memóriafoglalási hiba Az illesztőprogram nem tudta lefoglalni a függvény végrehajtásának vagy befejezésének támogatásához szükséges memóriát.
HY010 Függvényütemezési hiba (DM) SQL_ATTR_ODBC_VERSION még nem állították be SQLSetEnvAttr-n keresztül. Nem kell SQL_ATTR_ODBC_VERSION kifejezetten beállítani, ha SQLAllocHandleStd-t használsz.
HY013 Memóriakezelési hiba A függvényhívás nem dolgozható fel, mert a mögöttes memóriaobjektumok nem érhetők el, esetleg a memóriahiány miatt.
HY092 Érvénytelen attribútum/opcióazonosító Az Attribútum argumentumhoz megadott érték nem volt érvényes az illesztőprogram által támogatott ODBC verzióra.
HY117 A kapcsolat ismeretlen tranzakciós állapot miatt fel van függesztve. Csak a leválasztási és írásvédett függvények engedélyezettek. (DM) A felfüggesztett állapotról további információt az SQLEndTran függvényben talál.
HYC00 A választható funkció nem implementálva Az Attribútum argumentumhoz megadott érték érvényes ODBC környezeti attribútum volt az illezőgép által támogatott ODBC verzióra, de az illesztőgép nem támogatta.
IM001 Az illesztőprogram nem támogatja ezt a függvényt (DM) A EnvironmentHandle meghajtó nem támogatja a funkciót.

Comments

Az attribútumok listájáért lásd: SQLSetEnvAttr. Nincsenek illesztőgép-specifikus környezeti attribútumok. Ha az Attribútum olyan attribútumot ad meg, amely egy stringet ad, akkor a ValuePtr-nek egy pufferre kell utalnia, amelyben a stringet vissza kell adni. A lánc maximális hossza, beleértve a null-terminációs bájtot is, a BufferLength bájt.

Az SQLGetEnvAttr bármikor meghívható a környezeti handle allokálása és a felszabadítása között. Az alkalmazás által sikeresen beállított környezeti attribútumok fennmaradnak, amíg SQLFreeHandle meg nem hívja a EnvironmentHandle-en SQL_HANDLE_ENV HandleType-vel . Az ODBC 3*.x* alatt egyszerre több környezeti handle is kiosztható. Egy környezeti attribútumot nem érintik, ha egy másik környezetet kijelöltek.

Note

A SQL_ATTR_OUTPUT_NTS környezet attribútumot a szabványoknak megfelelő alkalmazások támogatják. Amikor az SQLGetEnvAttr-t hívják, az ODBC 3*.x* Driver Manager mindig SQL_TRUE adja vissza ehhez az attribútumhoz. SQL_ATTR_OUTPUT_NTS csak SQLSetEnvAttr hívással állítható be SQL_TRUE-ra.

Információ erről: Nézze
Kapcsolati attribútum beállításának visszaadása SQLGetConnectAttr függvény
Utasításattribútum beállításának visszaadása SQLGetStmtAttr függvény
Kapcsolati attribútumot beállítás SQLSetConnectAttr függvény
Környezeti attribútumok beállítása SQLSetEnvAttr Function
Utasításattribútum beállítása SQLSetStmtAttr függvény