Select the product you need help with
INFO: Alterações de API de 64-bit ODBC no MDAC 2.7ID do artigo: 298678 - Exibir os produtos aos quais esse artigo se aplica. SumárioO ODBC (Open Database Connectivity) cabeçalhos e bibliotecas que vêm com o Microsoft Data Access Components (MDAC) 2.7 software development kit (SDK) contém algumas alterações de versões anteriores do ODBC para permitir que os programadores a código para novas plataformas de 64 bits. Este artigo resume essas alterações. Mais InformaçõesGarantindo que o código usa os tipos definidos pelo ODBC listados abaixo, você poderá compilar seu código para plataformas de 64 bits e de 32 bits com base no _WIN64 ou macros do Win32. Há vários pontos de importância específica:
Alterações nos tipos de dados SQLOs quatro tipos SQL a seguir ainda são suportados em 32 bits apenas; eles não são definidos para compilações de 64 bits. Esses tipos não são usados para todos os parâmetros no MDAC 2.7; uso desses tipos causará falhas do compilador em plataformas de 64 bits.#ifdef WIN32 typedef SQLULEN SQLROWCOUNT; typedef SQLULEN SQLROWSETSIZE; typedef SQLULEN SQLTRANSID; typedef SQLLEN SQLROWOFFSET; #endif #ifdef _WIN64 typedef UINT64 SQLSETPOSIROW; #else #define SQLSETPOSIROW SQLUSMALLINT #endif #ifdef _WIN64 typedef INT64 SQLLEN; typedef UINT64 SQLULEN; #else #define SQLLEN SQLINTEGER #define SQLULEN SQLUINTEGER #endif #ifdef _WIN64 #define SQL_C_BOOKMARK SQL_C_UBIGINT #else #define SQL_C_BOOKMARK SQL_C_ULONG #endif typedef SQLULEN BOOKMARK; Alterações de declaração de funçãoAs assinaturas de função a seguir foram alterados para programação de 64 bits para acomodar os novos tipos. Os itens em negrito são os parâmetros específicos que foram alterados.
Valores retornados de chamadas de API do ODBC através de ponteirosAs seguintes chamadas de função ODBC levar como um parâmetro de entrada um ponteiro para um buffer em que os dados são retornados do driver. O contexto e o significado dos dados retornados é determinado pelo outros parâmetros de entrada para as funções. Em alguns casos, esses métodos agora podem retornar valores de 64 bits (inteiro de 8 bytes) em vez dos valores típicos inteiro de (4 bytes) de 32 bits. Nesses casos são:SQLColAttribute Quando o parâmetro FieldIdentifier tem um dos valores a seguir, um valor de 64 bits é retornado nos * NumericAttribute : SQL_DESC_DISPLAY_SIZE SQL_DESC_LENGTH SQL_DESC_OCTET_LENGTH SQL_DESC_COUNT SQLColAttributes Quando o parâmetro fDescType tem um dos valores a seguir, um valor de 64 bits é retornado nos * pfDesc : SQL_COLUMN_DISPLAY_SIZE SQL_COLUMN_LENGTH SQL_COLUMN_COUNT SQLGetConnectAttr Quando o parâmetro de atributo tem um dos valores a seguir, um valor de 64 bits é retornado em valor : SQL_ATTR_QUIET_MODE SQLGetConnectOption Quando o parâmetro de atributo tem um dos valores a seguir, um valor de 64 bits é retornado em valor : SQL_ATTR_QUIET_MODE SQLGetDescField Quando o parâmetro FieldIdentifier tem um dos valores a seguir, um valor de 64 bits é retornado nos * ValuePtr : SQL_DESC_ARRAY_SIZE SQLGetDiagField Quando o parâmetro DiagIdentifier tem um dos valores a seguir, um valor de 64 bits é retornado nos * DiagInfoPtr : SQL_DIAG_CURSOR_ROW_COUNT SQL_DIAG_ROW_COUNT SQL_DIAG_ROW_NUMBER SQLGetInfo Quando o parâmetro TipoDeInformação tem um dos valores a seguir, um valor de 64 bits é retornado nos * InfoValuePtr : SQL_DRIVER_HENV SQL_DRIVER_HDBC SQL_DRIVER_HLIB Quando TipoDeInformação tem um dos seguintes 2 valores * InfoValuePtr é 64 bits na entrada e saída: SQL_DRIVER_HSTMT SQL_DRIVER_HDESC SQLGetStmtAttr Quando o parâmetro de atributo tem um dos valores a seguir, um valor de 64 bits é retornado nos * ValuePtr : SQL_ATTR_APP_PARAM_DESC SQL_ATTR_APP_ROW_DESC SQL_ATTR_IMP_PARAM_DESC SQL_ATTR_IMP_ROW_DESC SQL_ATTR_MAX_LENGTH SQL_ATTR_MAX_ROWS SQL_ATTR_PARAM_BIND_OFFSET_PTR SQL_ATTR_ROW_ARRAY_SIZE SQL_ATTR_ROW_BIND_OFFSET_PTR SQL_ATTR_ROW_NUMBER SQL_ATTR_ROWS_FETCHED_PTR SQL_ATTR_KEYSET_SIZE SQLGetStmtOption Quando o parâmetro de opção tem um dos valores a seguir, um valor de 64 bits é retornado nos * valor : SQL_MAX_LENGTH SQL_MAX_ROWS SQL_ROWSET_SIZE SQL_KEYSET_SIZE SQLSetConnectAttr Quando o parâmetro de atributo tem um dos valores a seguir, um valor de 64 bits é passado em valor : SQL_ATTR_QUIET_MODE SQLSetConnectOption Quando o parâmetro de atributo tem um dos valores a seguir, um valor de 64 bits é passado em valor : SQL_ATTR_QUIET_MODE SQLSetDescField Quando o parâmetro FieldIdentifier tem um dos valores a seguir, um valor de 64 bits é passado no * ValuePtr : SQL_DESC_ARRAY_SIZE SQLSetStmtAttr Quando o parâmetro de atributo tem um dos valores a seguir, um valor de 64 bits é passado no * ValuePtr : SQL_ATTR_APP_PARAM_DESC SQL_ATTR_APP_ROW_DESC SQL_ATTR_IMP_PARAM_DESC SQL_ATTR_IMP_ROW_DESC SQL_ATTR_MAX_LENGTH SQL_ATTR_MAX_ROWS SQL_ATTR_PARAM_BIND_OFFSET_PTR SQL_ATTR_ROW_ARRAY_SIZE SQL_ATTR_ROW_BIND_OFFSET_PTR SQL_ATTR_ROW_NUMBER SQL_ATTR_ROWS_FETCHED_PTR SQL_ATTR_KEYSET_SIZE SQLSetConnectAttr Quando o parâmetro de opção tem um dos valores a seguir, um valor de 64 bits é passado no * valor : SQL_MAX_LENGTH SQL_MAX_ROWS SQL_ROWSET_SIZE SQL_KEYSET_SIZE ReferênciasVocê pode obter as bibliotecas de MDAC 2.7 e os arquivos de cabeçalho necessários para oferecer suporte à compilação de 64 bits do Microsoft Platform SDK, que pode ser instalado no seguinte site da Microsoft: http://www.microsoft.com/msdownload/platformsdk/sdkupdate/default.htm Aplicativos ODBC precisará usar os seguintes arquivos:
(http://www.microsoft.com/msdownload/platformsdk/sdkupdate/default.htm)
Arquivos de cabeçalho:
PropriedadesID do artigo: 298678 - Última revisão: segunda-feira, 21 de janeiro de 2002 - Revisão: 1.0
Tradução automática IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado. Clique aqui para ver a versão em Inglês deste artigo: 298678
(http://support.microsoft.com/kb/298678/en-us/
)
|





Voltar para o início








