Entrar

CORRECÇÃO: Erro de ODBC ao usar funções escalares para inserir carimbo de hora com valor fracionário

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.

259287
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Sintomas
Quando você usa funções escalares ODBC com o provedor do Microsoft Jet 4.0 OLE DB para inserir um carimbo de hora que contém um valor fracionário (milissegundos), o driver ODBC Jet (Odbcjt32.dll) pode retornar a seguinte mensagem de erro:
Retorno: SQL_ERROR =-1
[Microsoft][ODBC Microsoft Access Driver] Erro (|) reservado; não há nenhuma mensagem para esse erro.
Observação O driver ODBC do Jet 3.51 permite que a instrução para bem-sucedida e retorna SQL_SUCCESS_WITH_INFO e uma mensagem de "Dados truncados (carimbo de data/hora)".
Causa
O driver do Jet OLE DB não tem suporte para armazenamento de valores de milissegundos.
Resolução
Para resolver esse problema, instale o Microsoft Jet 4.0 service pack mais recente. Para obter mais informações, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
239114Como obter o service pack mais recente para o Microsoft Jet 4.0 Database Engine
Situação
A Microsoft confirmou que esse é um problema nos produtos da Microsoft listados no começo deste artigo. Esse problema foi corrigido no Jet 4.0 Service Pack 6 (SP6).
Mais Informações
Funções escalares inerentes a ODBC e são usadas quando você precisar sintaxe ou funcionalidade que não pode ser específica do driver. ODBC fornece um grande número de funções escalares para operações, como conversão de seqüência de caracteres, data e hora operações, funções matemáticas e assim por diante.

Neste caso, o erro é gerado quando você usa a sintaxe escalar ODBC para inserir um carimbo de hora que contém um valor fracionário (milissegundos). Por exemplo:
Insert into Table1 values (10, {ts '1999-09-02 12:12:12.121000'})				
Se você usar a função SQLBindParameter em vez da sintaxe escalar, a instrução for bem-sucedido e retorna SQL_SUCCESS_WITH_INFO e uma mensagem de Truncamento fracionário.
Jet 4.0 Erro reservado fração milissegundo truncamento timestamp não inserir nenhuma mensagem

Aviso: Este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 259287 - Última Revisão: 02/23/2014 19:34:08 - Revisão: 3.6

  • Microsoft Data Access Components 2.1
  • Microsoft Data Access Components 2.1 Service Pack 2
  • Microsoft Data Access Components 2.1 Service Pack 1
  • Microsoft Data Access Components 2.1 Service Pack 2
  • Microsoft Data Access Components 2.5
  • kbnosurvey kbarchive kbmt kbhotfixserver kbbug kbfix kbjet kbmdac210sp2fix kbmdac250fix kbqfe KB259287 KbMtpt
Comentários