Select the product you need help with
Provedor MSDASQL manipula incorretamente SQL_NUMERIC_STRUCT negativamente Scaled valoresID do artigo: 274604 - Exibir os produtos aos quais esse artigo se aplica. SintomasQuando você lê valores numéricos negativamente em escala de um driver de ODBC usando o provedor OLE DB para ODBC (MSDASQL) com a enumeração de cursor do ActiveX Data Objects (ADO) adUseClient , os valores que são retornados são truncados. ResoluçãoPara resolver esse problema, obtenha o service pack mais recente para o Microsoft MDAC 2.5. Para obter informações adicionais, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft: 293312 A versão em inglês dessa correção apresenta os atributos de arquivo (ou posteriores) listados na tabela a seguir. As datas e horas desses arquivos são listadas na acordo hora universal coordenada (UTC). Quando você exibe as informações do arquivo, ele é convertido para a hora local. Para encontrar a diferença entre o UTC e a hora local, use a guia fuso horário na ferramenta Data e hora no painel de controle.
(http://support.microsoft.com/kb/293312/EN-US/
)
INFO: Como obter o último MDAC 2.5 Service PackDate Time Version Size File Name -------------------------------------------------------------------- 31-Jan-2001 18:20 2.53.6131.0 303,376 Msdasql.dll 31-Jan-2001 18:18 2.53.6131.0 16,384 Msdasqlr.dll 31-Jan-2001 18:20 2.53.6131.0 78,096 Msdatl2.dll 31-Jan-2001 18:20 2.53.6131.0 53,520 Msdatt.dll 28-Feb-2001 18:00 1.10.101.0 484,408 Q277033_w2k_sp3_x86_en.exe Como ContornarPara contornar esse problema, use a enumeração adUseServer para a propriedade ADO CursorLocation em vez de adUseClient . SituaçãoA Microsoft confirmou que este é um problema nos produtos da Microsoft listados no começo deste artigo. Esse problema foi corrigido primeiro no Microsoft MDAC 2.5 Service Pack 3. Mais InformaçõesSe você abrir um objeto ADO Recordset contra qualquer driver de ODBC, o provedor OLE DB para ODBC (MSDASQL) é usado para fornecer ODBC aos serviços de conversão de OLE. Se o conjunto de resultados que é solicitado contém um campo numérico e se você usar a enumeração adUseClient da propriedade CursorLocation , ADO tenta buscar o valor do campo numérico em uma estrutura DB_NUMERIC OLEDB. Se o driver ODBC subjacente relata que está compatível com o ODBC 3.0, MSDASQL tentará vincular a valores SQL_NUMERIC_STRUCT diretamente em vez de vinculação com uma seqüência de caracteres. Se SQL_NUMERIC_STRUCT que retorna o driver tem uma escala negativa e se o cliente do provedor MSDASQL solicita um valor DB_NUMERIC, MSDASQL primeiro converte o SQL_NUMERIC_STRUCT para um valor DB_VARNUMERIC e, em seguida, converte em um valor DB_NUMERIC. A conversão final para um valor DB_NUMERIC será processada incorretamente se a escala é negativo, o que resulta em um valor truncado. PropriedadesID do artigo: 274604 - Última revisão: segunda-feira, 26 de setembro de 2005 - Revisão: 3.1 A informação contida neste artigo aplica-se a:
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: 274604
(http://support.microsoft.com/kb/274604/en-us/
)
|




Voltar para o início








