Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
SQL Unicode-gegevenstypen worden beschikbaar gesteld om gegevens te beschrijven die zich in Unicode bevinden in de DBMS. Er wordt een C Unicode-gegevenstype opgegeven waarmee een toepassing gegevens kan binden aan een Unicode-buffer. Driver Manager kan gegevens van een Unicode C-type (SQL_C_WCHAR) converteren om deze te laten functioneren met een ANSI-stuurprogramma.
Een ODBC 3.0 of 2. x-toepassing verbindt altijd met de ANSI-gegevenstypen. Voor optimale prestaties moet een ODBC 3.5-toepassing (of hoger) verbinding maken met het ANSI-gegevenstype C als het SQL-kolomtype ANSI is en moet worden verbonden met het Unicode C-gegevenstype als het SQL-kolomtype Unicode is.
De SQL Unicode-typeindicatoren zijn SQL_WCHAR, SQL_WVARCHAR en SQL_WLONGVARCHAR. SQL_WCHAR gegevens een vaste tekenreekslengte hebben, terwijl SQL_WVARCHAR een variabele lengte heeft met een gedeclareerd maximum en SQL_WLONGVARCHAR een variabele lengte heeft met een maximum dat afhankelijk is van de gegevensbron.
De indicator voor het type C Unicode is SQL_C_WCHAR. Dit is de standaardinstelling voor elk van de SQL Unicode-typeindicatoren. Alle SQL-typen kunnen worden geconverteerd naar SQL_C_WCHAR en SQL_C_WCHAR kunnen worden geconverteerd naar alle SQL-typen. Een toepassing kan op drie manieren gegevens ophalen:
Haal de gegevens op als SQL_C_CHAR.
Haal de gegevens op als SQL_C_WCHAR.
Declareer de gegevens als SQL_C_TCHAR. Dit is een macro die SQL_C_WCHAR invoegt als de toepassing is gecompileerd als een Unicode-toepassing of SQL_C_CHAR invoegt als deze is gecompileerd als een ANSI-toepassing.
SQL_C_TCHAR wordt als volgt gedeclareerd in een functie:
SQLBindParameter(StatementHandle, 1, SQL_PARAM_INPUT, SQL_C_TCHAR, SQL_WCHAR, NameLen, 0, Name, 0, &Name)
Wanneer de toepassing wordt gecompileerd als een Unicode-toepassing, wordt het argument ValueType gewijzigd van SQL_C_TCHAR in SQL_C_WCHAR. Wanneer de toepassing is gecompileerd als een ANSI-toepassing, wordt het argument ValueType gewijzigd in SQL_C_CHAR.
Unicode-stuurprogramma's moeten nog steeds ANSI-gegevenstypen ondersteunen, waaronder SQL_CHAR. Als een toepassing die met een Unicode-stuurprogramma werkt, zich bindt aan SQL_CHAR, worden de SQL_CHAR-gegevens niet toegewezen aan SQL_WCHAR. Het Unicode-stuurprogramma moet de SQL_CHAR gegevens accepteren.
Stuurprogrammabeheer slaat de namen van stuurprogramma's en DSN's op in Unicode en wijst deze indien nodig toe aan ANSI. Als een Unicode-teken niet kan worden toegewezen aan een ANSI-teken (zoals kan gebeuren als tekens van een codepagina die niet de systeemeigen codepagina van de computer is, worden gebruikt in stuurprogramma- en DSN-namen), worden de tekens die niet kunnen worden geconverteerd, vertegenwoordigd door een standaardteken dat door het systeem wordt geleverd.