ACC2000: Acrescentar consulta em tabelas vinculadas adiciona valores GUID incorretos

Traduções deste artigo Traduções deste artigo
ID do artigo: 248907 - Exibir os produtos aos quais esse artigo se aplica.
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).

Expandir tudo | Recolher tudo

Neste artigo

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 MakeTestTables
    
    As
    
    if 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.ColB
    FROM 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

Propriedades

ID do artigo: 248907 - Última revisão: terça-feira, 22 de outubro de 2013 - Revisão: 3.0
A informação contida neste artigo aplica-se a:
  • Microsoft Access 2000 Standard Edition
Palavras-chave: 
kbnosurvey kbarchive kbmt kbbug kbfix KB248907 KbMtpt
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: 248907

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com