ACC2000: 附加連結資料表的查詢中加入不正確的 GUID 值

文章翻譯 文章翻譯
文章編號: 248907 - 檢視此文章適用的產品。
本文已封存。本文係以「現狀」提供且不會再更新。
進階: 須具備專家編碼、 互通性,與多使用者技能。

本文只適用於 Microsoft Access 資料庫 (.mdb)。

全部展開 | 全部摺疊

在此頁中

徵狀

您可以新增查詢可接受連結的 SQL Server 資料表包含型別 UniqueIdentifier 的欄位,且將值附加至另一個連結的 SQL Server 資料表的值。當您開啟該資料錄會附加的資料表時,您會發現附加每一筆記錄的 [UniqueIdentifier] 欄位所包含的值不同的來源資料表中。

解決方案

取得最新的 Microsoft Jet 4.0 Service Pack 包含 Microsoft Jet 4.0 資料庫引擎的更新的版本。

如需有關如何取得最新版本的 Jet 4.0 資料庫引擎的詳細資訊,按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
239114如何: 取得最新的 Service Pack,為 Microsoft Jet 4.0 資料庫引擎

狀況說明

Microsoft 已確認這是在本文開頭所列之 Microsoft 產品中的問題。

其他相關資訊

重製行為的步驟

  1. 使用 Microsoft SQL Server 7.0 企業管理員] 或 [Access 2000 開啟範例資料庫 NorthwindCS (登入為資料庫擁有者)。
  2. 使用下列的 SQL 語法來建立新的預存程序。這個程序會在 SQL Server 或 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. 儲存並關閉預存程序。接受 MakeTestTables,預設名稱,並連按兩下,以執行該程序。
  4. 開啟 Access 2000 並建立新的 Access 資料庫,名為 MyTest.mdb。 在 [檔案] 功能表上指向 [取得外部資料],然後按一下 [連線資料表]。
  5. 在 [連結] 對話方塊將 檔案類型] 方塊裡的內容變更為 ODBC 資料庫
  6. 在 [選取資料來源] 對話方塊開啟,或建立指向 NorthwindCS 一個資料來源名稱 (DSN)。
  7. 在伺服器上建立連結到 GUID_Test 和 GUID_Test2 資料表。離開連結的資料表名稱 dbo_GUID_Test 和 dbo_GUID_Test2。如果畫面出現視窗詢問您為索引資料行,選取 ColA
  8. 在 [設計] 檢視中建立新的查詢,但是新增沒有資料表。
  9. 在查詢設計格線中按一下 [檢視] 功能表上的 [SQL 檢視]。
  10. 輸入下列 SQL 陳述式:
    INSERT INTO dbo_GUID_Test2 (ColA, ColB)
    SELECT dbo_GUID_Test.ColA, dbo_GUID_Test.ColB
    FROM dbo_GUID_Test;
    					
  11. 儲存並執行查詢。
  12. 開啟 [dbo_GUID_Test] 和 [dbo_GUID_Test2 資料表。調整大小的視窗和資料行,讓您可以在同一時間看到其全部內容。
附註插入 dbo_GUID_Test2.ColA 的 GUID 值不相符中 dbo_GUID_Test.ColA GUID 值。

?考

如需有關涉及具有 UniqueIdentifier 欄位連結的資料表的另一個問題的詳細資訊,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項:
253837ACC2000: # 在包含 UniqueIdentifier 的連結資料表中刪除

屬性

文章編號: 248907 - 上次校閱: 2013年10月22日 - 版次: 3.0
這篇文章中的資訊適用於:
  • Microsoft Access 2000 Standard Edition
關鍵字:?
kbnosurvey kbarchive kbmt kbbug kbfix KB248907 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:248907
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

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