Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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.
Kapcsolódó funkciók
| 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 |