Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Os tipos de dados Unicode SQL são fornecidos para descrever os dados que residem em Unicode nativamente no DBMS. Um tipo de dados C Unicode é fornecido para permitir a um aplicativo vincular dados a um buffer Unicode. O Gerenciador de Driver pode converter dados de um tipo C Unicode (SQL_C_WCHAR) para fazer com que funcionem com um driver ANSI.
Um aplicativo ODBC 3.0 ou 2.x sempre vai se associar aos tipos de dados ANSI. Para obter o desempenho ideal, um aplicativo ODBC 3.5 (ou superior) deverá se vincular ao tipo C de dados ANSI se o tipo de coluna SQL for ANSI e ao tipo de dados Unicode C se o tipo de coluna SQL for Unicode.
Os indicadores de tipo Unicode do SQL são SQL_WCHAR, SQL_WVARCHAR e SQL_WLONGVARCHAR. Dados SQL_WCHAR tem um comprimento de cadeia de caracteres fixo, enquanto SQL_WVARCHAR tem um comprimento variável com um máximo declarado e SQL_WLONGVARCHAR tem um comprimento variável com um máximo que depende da fonte de dados.
O indicador de tipo C Unicode é SQL_C_WCHAR. Esse é o padrão para cada um dos indicadores de tipo Unicode do SQL. Todos os tipos SQL podem ser convertidos em SQL_C_WCHAR; e SQL_C_WCHAR pode ser convertido em todos os tipos SQL. Um aplicativo pode recuperar dados de três maneiras:
Recuperar dados como SQL_C_CHAR.
Recuperar dados como SQL_C_WCHAR.
Declarar os dados como SQL_C_TCHAR. Essa é uma macro que insere SQL_C_WCHAR se o aplicativo é compilado como um aplicativo Unicode ou insere SQL_C_CHAR se ele é compilado como um aplicativo ANSI.
O SQL_C_TCHAR é declarado em uma função da seguinte maneira:
SQLBindParameter(StatementHandle, 1, SQL_PARAM_INPUT, SQL_C_TCHAR, SQL_WCHAR, NameLen, 0, Name, 0, &Name)
Quando o aplicativo é compilado como um aplicativo Unicode, o argumento ValueType seria alterado de SQL_C_TCHAR para SQL_C_WCHAR. Quando o aplicativo é compilado como um aplicativo ANSI, o argumento ValueType seria alterado para SQL_C_CHAR.
Os drivers Unicode ainda devem oferecer suporte a tipos de dados ANSI, incluindo SQL_CHAR. Se um aplicativo que funciona com um driver Unicode se vincular a SQL_CHAR, o Gerenciador de Driver não mapeará os dados SQL_CHAR para SQL_WCHAR. O driver Unicode deve aceitar os dados SQL_CHAR
O Gerenciador de Driver armazena nomes de driver e DSN em Unicode e os mapeia para ANSI conforme o necessário. Se não for possível mapear um caractere Unicode para um caractere ANSI (como poderá ocorrer se caracteres de uma página de código que não seja a página de código nativa do computador forem usados em nomes de driver e DSN), os caracteres que não puderam ser convertidos serão representados por um caractere padrão fornecido pelo sistema.