ACC2000: 追加查询链接表上的添加不正确的 GUID 值

文章翻译 文章翻译
文章编号: 248907 - 查看本文应用于的产品
本文已归档。它按“原样”提供,并且不再更新。
高级: 需要专家编码、 互操作性,和多用户技能。

本文只适用于 Microsoft Access 数据库 (.mdb)。

展开全部 | 关闭全部

本文内容

症状

您可以采用链接的 SQL Server 表,其中包含的唯一标识符的类型的字段,并将值追加到另一个链接 SQL Server 表中的值的追加查询。当您打开要向其中追加记录的表时,您发现每个追加的记录的唯一标识符字段中包含不同于那些将源表中的值。

解决方案

获取最新的 Microsoft Jet 4.0 服务包包含 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 值。

参考

另一个问题涉及带有唯一标识符字段的链接的表有关的其他信息,请单击下面文章编号,以查看 Microsoft 知识库中相应的文章:
253837ACC2000: # 包含唯一标识符的链接表中删除

属性

文章编号: 248907 - 最后修改: 2013年10月22日 - 修订: 3.0
这篇文章中的信息适用于:
  • Microsoft Access 2000 标准版
关键字:?
kbnosurvey kbarchive kbmt kbbug kbfix KB248907 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 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