Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Типы данных Юникода SQL предоставляются для описания данных, которые изначально находятся в Юникоде на СУБД. Предоставляется тип данных C Юникода, позволяющий приложению привязать данные к буферу Юникода. Диспетчер драйверов может преобразовать данные из типа языка программирования C (SQL_C_WCHAR) Unicode, чтобы они работали с драйвером ANSI.
ODBC 3.0 или 2.x приложение всегда привязывается к типам данных ANSI. Для оптимальной производительности приложение ODBC 3.5 (или более поздней версии) должно привязаться к типу данных ANSI, если тип столбца SQL — ANSI, и должно привязаться к типу данных Юникод, если тип столбца SQL является Юникодом.
Индикаторы типов SQL Unicode – SQL_WCHAR, SQL_WVARCHAR и SQL_WLONGVARCHAR. SQL_WCHAR данные имеют фиксированную длину строки, в то время как SQL_WVARCHAR имеет переменную длину с объявленным максимальным значением, а длина SQL_WLONGVARCHAR является переменной с максимальным значением, которое зависит от источника данных.
Индикатор типа Юникода C — это SQL_C_WCHAR. Это значение по умолчанию для каждого индикатора типов Юникода SQL. Все типы SQL можно преобразовать в SQL_C_WCHAR, а SQL_C_WCHAR можно преобразовать во все типы SQL. Приложение может получить данные одним из трех способов:
Извлеките данные в формате SQL_C_CHAR.
Извлеките данные в формате SQL_C_WCHAR.
Объявите данные как SQL_C_TCHAR. Это макрос, который вставляет SQL_C_WCHAR, если приложение компилируется как приложение Юникода или вставляет SQL_C_CHAR, если он компилируется как приложение ANSI.
SQL_C_TCHAR объявляется в функции следующим образом:
SQLBindParameter(StatementHandle, 1, SQL_PARAM_INPUT, SQL_C_TCHAR, SQL_WCHAR, NameLen, 0, Name, 0, &Name)
Когда приложение компилируется как приложение Юникода, аргумент ValueType будет изменен с SQL_C_TCHAR на SQL_C_WCHAR. Когда приложение компилируется как приложение ANSI, аргумент ValueType будет изменен на SQL_C_CHAR.
Драйверы Юникода по-прежнему должны поддерживать типы данных ANSI, включая SQL_CHAR. Если приложение, работающее с драйвером Юникода, привязывается к SQL_CHAR, диспетчер драйверов не сопоставляет данные SQL_CHAR с SQL_WCHAR. Драйвер Юникода должен принять данные SQL_CHAR.
Диспетчер драйверов хранит имена драйверов и доменных имен в Юникоде и сопоставляет их с ANSI по мере необходимости. Если символ Юникода нельзя сопоставить с символом ANSI (как может произойти, если символы на кодовой странице, которая не является машинной кодовой страницей компьютера, используются в именах драйверов и DSN), символы, которые не удалось преобразовать, представлены символами по умолчанию, предоставленными системой.