Provedor MSDASQL manipula incorretamente SQL_NUMERIC_STRUCT negativamente Scaled valores

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
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Sintomas
Quando 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ção
Para 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:
293312INFO: Como obter o último MDAC 2.5 Service Pack
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.
   Date         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 Contornar
Para contornar esse problema, use a enumeração adUseServer para a propriedade ADO CursorLocation em vez de adUseClient .
Situação
A 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ções
Se 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.

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 274604 - Última Revisão: 02/24/2014 15:29:34 - Revisão: 3.1

Microsoft Data Access Components 1.5, Microsoft Data Access Components 2.0, Microsoft Data Access Components 2.1, Microsoft Data Access Components 2.1 Service Pack 2, Microsoft Data Access Components 2.5

  • kbnosurvey kbarchive kbmt kbhotfixserver kbqfe kbmdac250sp3fix kbbug kbfix KB274604 KbMtpt
Comentários
ERROR: at System.Diagnostics.Process.Kill() at Microsoft.Support.SEOInfrastructureService.PhantomJS.PhantomJSRunner.WaitForExit(Process process, Int32 waitTime, StringBuilder dataBuilder, Boolean isTotalProcessTimeout)