ACC2000: Přidávací dotaz v propojených tabulek přidá GUID nesprávné hodnoty

Překlady článku Překlady článku
ID článku: 248907 - Produkty, které se vztahují k tomuto článku.
Tento článek byl archivován. Je nabízen v takovém stavu, v jakém je, a nebude již nadále aktualizován.
Upřesnit: Vyžaduje poradce kódování, spolupráce a víceuživatelském dovednosti.

Tento článek se týká pouze databáze aplikace Microsoft Access (MDB).

Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Příznaky

Máte přidávacího dotazu trvá hodnoty z propojené tabulce serveru SQL, který obsahuje pole typu UniqueIdentifier a připojí hodnoty jiného propojené tabulce serveru SQL. Při otevření tabulky, ke kterému jsou připojeny záznamy najít UniqueIdentifier pole pro každý záznam připojena obsahuje hodnoty odlišné od těch v tabulce zdroj.

Řešení

Získat na nejnovější aktualizaci Microsoft Jet 4.0 service pack, která obsahuje aktualizované verze databázového stroje Microsoft Jet 4.0.

Další informace o způsobu získání nejnovější verze databázového stroje Jet 4.0 naleznete v následujícím článku znalostní báze Microsoft Knowledge Base:
239114Jak: Získat nejnovější aktualizaci Service Pack pro databázový stroj Microsoft Jet 4.0

Prohlášení

Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny na začátku tohoto článku.

Další informace

Kroky pro reprodukci chování

  1. Otevřete ukázkovou databázi NorthwindCS (přihlášení jako vlastník databáze) použít Microsoft SQL Server 7.0 Enterprise Manager nebo Access 2000.
  2. Vytvoření nové uložené procedury pomocí následující syntaxe jazyka SQL. Tato procedura vytvoří dva test tabulek v databázi serveru SQL Server nebo 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. Uložte a zavřete uložené procedury. Přijměte výchozí název MakeTestTables a spusťte proceduru poklepáním.
  4. Otevřete Access 2000 a vytvořit novou databázi Access s názvem MyTest.mdb. V nabídce soubor přejděte na příkaz Načíst externí data a poté klepněte na příkaz Propojit tabulky.
  5. V dialogovém okně propojení změnit pole Typ souborůDatabáze ODBC.
  6. V dialogovém okně Vybrat zdroj dat otevřete nebo vytvořte název zdroje dat (DSN), který odkazuje na NorthwindCS.
  7. Vytvořit odkazy na tabulky GUID_Test a GUID_Test2 na serveru. Ponechejte propojené tabulky s názvy dbo_GUID_Test a dbo_GUID_Test2. Pokud budete vyzváni pro sloupec indexu vyberte ColA.
  8. Vytvořit nový dotaz v návrhovém zobrazení, ale přidat žádné tabulky.
  9. V návrhové mřížce dotazu klepněte v nabídce Zobrazit na příkaz Zobrazení SQL.
  10. Zadejte následující příkaz SQL:
    INSERT INTO dbo_GUID_Test2 (ColA, ColB)
    SELECT dbo_GUID_Test.ColA, dbo_GUID_Test.ColB
    FROM dbo_GUID_Test;
    					
  11. Uložte a spusťte dotaz.
  12. Otevřete tabulky v dbo_GUID_Test a dbo_GUID_Test2. Velikost oken a sloupce tak, aby jejich celý obsah můžete zobrazit současně.
Poznámka: hodnoty GUID vložili do dbo_GUID_Test2.ColA neodpovídají hodnoty GUID v dbo_GUID_Test.ColA.

Odkazy

Další informace o dalším problému zahrnující propojené tabulky s UniqueIdentifier polí klepněte na článek číslo článku databáze Microsoft Knowledge Base:
253837ACC2000: Odstraněná propojená tabulka obsahující UniqueIdentifier #

Vlastnosti

ID článku: 248907 - Poslední aktualizace: 6. února 2014 - Revize: 3.0
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft Access 2000 Standard Edition
Klíčová slova: 
kbnosurvey kbarchive kbmt kbbug kbfix KB248907 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:248907

Dejte nám zpětnou vazbu

 

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