ACC2000: Acrescentar consulta em tabelas vinculadas adiciona valores GUID incorretos

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: 248907
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Avançadas: Requer especialista de codificação, interoperabilidade e habilidades de multiusuário.

Este artigo se aplica somente a um banco de dados do Microsoft Access (.mdb).

Sintomas
Você tem uma consulta acréscimo que extrai valores de uma tabela vinculada do SQL Server que contém um campo do tipo UniqueIdentifier e anexe os valores à outra tabela vinculada do SQL Server. Quando você abre a tabela à qual os registros serão acrescentados, você localizar o campo UniqueIdentifier para cada registro acrescentado contém valores diferentes na tabela de origem.
Resolução
Obtenha o mais recente service pack do Microsoft Jet 4.0 que contenha uma versão atualizada do mecanismo de banco de dados Microsoft Jet 4.0.

Para obter informações adicionais sobre como obter a versão mais recente do Jet 4.0 database engine, 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 este é um problema nos produtos da Microsoft listados no começo deste artigo.
Mais Informações

Etapas para reproduzir o problema

  1. Use o Gerenciador do Microsoft SQL Server 7.0 Enterprise ou o Access 2000 para abrir o banco de dados exemplo NorthwindCS (faça logon como o proprietário do banco de dados).
  2. Use a seguinte sintaxe SQL para criar um novo procedimento armazenado. Este procedimento cria duas tabelas de teste no banco de dados SQL Server ou MSDE.
    Create Procedure MakeTestTablesAsif exists (select * from sysobjects where id =object_id(N'[dbo].[GUID_Test]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)drop table [dbo].[GUID_Test]if exists (select * from sysobjects where id =object_id(N'[dbo].[GUID_Test2]') and OBJECTPROPERTY(id, N'IsUserTable') =1)drop table [dbo].[GUID_Test2]CREATE TABLE [dbo].[GUID_Test] (	[ColA]  uniqueidentifier ROWGUIDCOL  NOT NULL ,	[ColB] [varchar] (50) NULL )                        ON [PRIMARY]ALTER TABLE [dbo].[GUID_Test] WITH NOCHECK ADD 	CONSTRAINT [PK_GUID_Test] PRIMARY KEY  NONCLUSTERED 	([ColA])            ON [PRIMARY] CREATE TABLE [dbo].[GUID_Test2] (	[ColA] [uniqueidentifier] NULL ,	[ColB] [varchar] (50) NULL )             ON [PRIMARY]INSERT INTO GUID_TEST VALUES ('{DBAB6FFE-82B2-4D65-819E-32DD4D904C51}','TESTRECORD1')INSERT INTO GUID_TEST VALUES ('{DBAB6FFE-82B2-4D65-819E-32DD4D904C52}','TESTRECORD2')INSERT INTO GUID_TEST VALUES ('{DBAB6FFE-82B2-4D65-819E-32DD4D904C53}','TESTRECORD3')return					
  3. Salve e feche o procedimento armazenado. Aceite o nome padrão de MakeTestTables e, em seguida, execute o procedimento clicando duas vezes nele.
  4. Abra o Access 2000 e criar um banco de dados Access novo chamado MyTest.mdb. No menu arquivo , aponte para Obter dados externos e, em seguida, clique em Vincular tabelas .
  5. Na caixa de diálogo vincular , altere a caixa arquivos do tipo para Bancos de dados ODBC .
  6. Na caixa de diálogo Selecionar fonte de dados , abra ou crie um nome de fonte de dados (DSN) que aponta para NorthwindCS.
  7. Crie links para as tabelas GUID_Test e GUID_Test2 no servidor. Deixe as tabelas vinculadas com os nomes dbo_GUID_Test e dbo_GUID_Test2. Se você for solicitado para uma coluna de índice, selecione ColA .
  8. Criar uma nova consulta no modo Design, mas adicionar não tabelas.
  9. Na grade de design da consulta, clique em Modo SQL no menu Exibir .
  10. Digite a seguinte instrução SQL:
    INSERT INTO dbo_GUID_Test2 (ColA, ColB)SELECT dbo_GUID_Test.ColA, dbo_GUID_Test.ColBFROM dbo_GUID_Test;					
  11. Salve e execute a consulta.
  12. Abra ambas as dbo_GUID_Test dbo_GUID_Test2 tabelas e. Dimensione as janelas e as colunas para que você possa ver todo o conteúdo ao mesmo tempo.
Observe que os valores GUID inseridas dbo_GUID_Test2.ColA não coincidem os valores GUID dbo_GUID_Test.ColA.
Referências
Para obter informações adicionais sobre outro problema que envolvem tabelas vinculadas com UniqueIdentifier campos, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
253837ACC2000: # excluídos na tabela vinculada contendo UniqueIdentifier
pra corrigir errado não não não

Propriedades

ID do Artigo: 248907 - Última Revisão: 10/22/2013 04:14:18 - Revisão: 3.0

Microsoft Access 2000 Standard Edition

  • kbnosurvey kbarchive kbmt kbbug kbfix KB248907 KbMtpt
Comentários