CORRECÇÃO: Erros de conversão de OLE DB podem ocorrer após você selecionar uma seqüência literal que representa dados de data/hora como uma coluna

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: 813524
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Sintomas
Você aplicar o Microsoft SQL Server 2000 Service Pack 3 (SP3) e, em seguida, selecione uma seqüência literal que representa dados de data e hora como uma coluna em uma consulta que acessa um servidor vinculado do SQL Server 2000. Depois de fazer isso, você receber a seguinte mensagem de erro:
Servidor: Mensagem 7341, nível 16, estado 2, linha 1

Não pôde obter o valor de linha atual de coluna '(user generated expression).Expr1002 ' do provedor OLE DB 'SQLOLEDB'. Não foi possível converter o valor dos dados devido a razões diferentes de incompatibilidade de sinal ou estouro.

[Provedor OLE/DB retornado mensagem: etapa vários OLE operação gerado erros. Verifique cada valor de status de OLE DB, se disponível. Nenhum trabalho foi realizado.]

Rastreamento de erro de OLE [provedor OLE/DB 'SQLOLEDB' IRowset::GetData retornado 0x80040e21: status de dados retornado do provedor: [COLUMN_NAME = Expr1002 STATUS = DBSTATUS_E_CANTCONVERTVALUE]].
Causa
SQL Server 2000 Service Pack 3 introduz uma alteração que afete o remoting para a representação de seqüência de caracteres de dados datetime. DATES_ISO8601standard multilíngüe é usado no SQL Server 2000 SP3 para evitar possíveis conversões datetime incorreto entre uma instância local do SQL Server 2000 e um servidor vinculado do SQL Server 2000 em um idioma diferente. No entanto, o DATES_ISO8601standard não dá suporte OLE e ter o problema descrito neste artigo.
Como Contornar
Para contornar esse problema, use uma variável datetime. O código a seguir é um exemplo de como você pode contornar esse problema:
DECLARE @v datetimeset @v = convert(datetime, '2003-01-01 12:00:00')SELECT @vFROM [linked_server_name].[pubs].[dbo].[authors]
Resolução

Informações sobre o service pack

Para resolver esse problema, obtenha o service pack mais recente para o Microsoft SQL Server 2000. Para obter informações adicionais, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
290211Como obter o SQL Server 2000 service pack mais recente

Informações sobre o hotfix

A versão em inglês deste hotfix tem atributos de arquivo (ou atributos de arquivo 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-------------------------------------------------------------------02-Apr-2003   18:42   2000.80.794.0    7,540,820   Sqlservr.exe
Observação Devido às dependências do arquivo, o hotfix mais recente ou o recurso que contém esses arquivos também pode conter arquivos adicionais.

Situação
A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na seção "Aplica-se a".Esse problema foi corrigido primeiro no Microsoft SQL Server 2000 Service Pack 4.
Mais Informações
Para reproduzir esse problema, use a seguinte consulta de exemplo:
SELECT CONVERT(datetime, '2003-01-01 12:00:00')FROM [linked_server_name].[pubs].[dbo].[authors]

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 813524 - Última Revisão: 12/08/2015 01:57:00 - Revisão: 9.3

Microsoft SQL Server 2000 Developer Edition, Microsoft SQL Server 2000 Standard Edition, Microsoft SQL Server 2000 Enterprise Edition, Microsoft SQL Server 2000 Personal Edition, Microsoft SQL Server 2000 Workgroup Edition, Microsoft SQL Server 2000 Desktop Engine (Windows), Microsoft SQL Server 2000 Enterprise Edition 64-bit

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