Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Az SQL Unicode-adattípusok olyan adatok leírására szolgálnak, amelyek natív Unicode-ban találhatók a DBMS-en. C Unicode-adattípust biztosítunk, amely lehetővé teszi az alkalmazások számára, hogy adatokat kössenek egy Unicode-pufferhez. Az Illesztőprogram-kezelő Unicode C-típusból (SQL_C_WCHAR) konvertálhat adatokat, hogy az ANSI-illesztővel működjön.
ODBC 3.0 vagy 2. x alkalmazás mindig az ANSI-adattípusokhoz fog kapcsolódni. Az optimális teljesítmény érdekében egy ODBC 3.5-ös (vagy újabb) alkalmazásnak az ANSI-adat C típusához kell csatlakoznia, ha az SQL-oszlop típusa ANSI, és a Unicode C adattípushoz kell kapcsolódnia, ha az SQL-oszloptípus Unicode.
Az SQL Unicode-típusjelzők SQL_WCHAR, SQL_WVARCHAR és SQL_WLONGVARCHAR. SQL_WCHAR adatok rögzített sztringhosszúságúak, míg SQL_WVARCHAR változóhosszúságú deklarált maximális értékkel, SQL_WLONGVARCHAR változóhossza pedig az adatforrástól függ.
A C Unicode típusjelző SQL_C_WCHAR. Ez az alapértelmezett az SQL Unicode-típusjelzők esetében. Az összes SQL-típus konvertálható SQL_C_WCHAR formátumra, és SQL_C_WCHAR formátumból az összes SQL-típusba konvertálható. Az alkalmazások a következő három módszer egyikével képesek adatokat lekérni:
Kérje le az adatokat SQL_C_CHAR formátumban.
Adja vissza az adatokat SQL_C_WCHAR karakterláncként.
Jelentse be az adatokat SQL_C_TCHAR-ként. Ez egy makró, amely SQL_C_WCHAR szúr be, ha az alkalmazás Unicode-alkalmazásként van lefordítva, vagy beszúrja SQL_C_CHAR, ha ANSI-alkalmazásként van lefordítva.
SQL_C_TCHAR függvény a következőképpen deklarálva van:
SQLBindParameter(StatementHandle, 1, SQL_PARAM_INPUT, SQL_C_TCHAR, SQL_WCHAR, NameLen, 0, Name, 0, &Name)
Ha az alkalmazás Unicode-alkalmazásként van lefordítva, a ValueType argumentum SQL_C_TCHAR-ról SQL_C_WCHAR-ra változik. Ha az alkalmazás ANSI-alkalmazásként van lefordítva, a ValueType argumentum SQL_C_CHAR lesz.
A Unicode-illesztőprogramoknak továbbra is támogatniuk kell az ANSI-adattípusokat, beleértve a SQL_CHAR. Ha egy Unicode-illesztőprogramot használó alkalmazás az SQL_CHAR-t lekötésre kerül, az Illesztőprogram-kezelő nem térképezi át az SQL_CHAR adatokat SQL_WCHAR-ra. A Unicode-illesztőnek el kell fogadnia a SQL_CHAR adatokat.
Az Illesztőprogram-kezelő Unicode-ban tárolja az illesztőprogram- és DSN-neveket, és szükség szerint leképzi őket az ANSI-be. Ha egy Unicode-karaktert nem lehet ANSI-karakterre leképezni (ahogy az is előfordulhat, hogy a számítógép natív kódlapját nem tartalmazó kódlapon szereplő karaktereket az illesztőprogramok és a DSN-nevek használják), a konvertálni nem tudó karaktereket a rendszer által megadott alapértelmezett karakter jelöli.