ACC2000: Anexar consultas en tablas vinculadas agrega valores GUID incorrectos

Seleccione idioma Seleccione idioma
Id. de artículo: 248907 - Ver los productos a los que se aplica este artículo
Este artículo se ha archivado. Se ofrece "tal cual" y no se volverá a actualizar.
Avanzado: Requiere codificación experto, interoperabilidad, conocimientos y multiusuario.

Este artículo se aplica únicamente a las bases de datos de Microsoft Access (.mdb).

Expandir todo | Contraer todo

En esta página

Síntomas

Tiene una consulta de datos anexados que toma valores de una tabla vinculada de SQL Server que contiene un campo de tipo UniqueIdentifier y agrega los valores a otra tabla vinculada de SQL Server. Cuando se abre la tabla a la que se anexa los registros, encontrará que el campo UniqueIdentifier para cada registro anexado contiene valores distintos a los de la tabla de origen.

Solución

Obtener el último service pack de Microsoft Jet 4.0 que contenga una versión actualizada del motor de base de datos Microsoft Jet 4.0 de.

Para obtener información adicional acerca de cómo obtener la última versión de motor de base de datos Jet 4.0, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
239114Cómo: Obtener el Service Pack más reciente para el motor de base de datos Microsoft Jet 4.0

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados en la sección "La información de este artículo se refiere a:" de este artículo.

Más información

Pasos para reproducir este comportamiento

  1. Utilice el Administrador corporativo de Microsoft SQL Server 7.0 o Access 2000 para abrir la base de datos NeptunoCS (inicie sesión como el propietario de base de datos) de ejemplo.
  2. Utilice la siguiente sintaxis SQL para crear un nuevo procedimiento almacenado. Este procedimiento crea dos tablas de prueba en la base de datos de SQL Server o 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. Guarde y cierre el procedimiento almacenado. Acepte el nombre predeterminado de MakeTestTables y, a continuación, ejecute el procedimiento haciendo doble clic en él.
  4. Abra Access 2000 y cree una base de datos nueva de Access denominada MiPrueba.mdb. En el menú archivo , elija Obtener datos externos y, a continuación, haga clic en Vincular tablas .
  5. En el cuadro de diálogo vincular , cambie el cuadro de tipo de bases de datos de ODBC .
  6. En el cuadro de diálogo Seleccionar origen de datos , abra o cree un nombre de origen de datos (DSN) que señala a NeptunoCS.
  7. Crear vínculos a las tablas GUID_Test y GUID_Test2 en el servidor. Deje las tablas vinculadas con los nombres dbo_GUID_Test y dbo_GUID_Test2. Si se le pida una columna de índice, seleccione la ColA .
  8. Crear una nueva consulta en la vista Diseño, pero no hay tablas de agregar.
  9. En la cuadrícula de diseño de consulta, haga clic en Vista SQL en el menú Ver .
  10. Escriba la siguiente instrucción SQL:
    INSERT INTO dbo_GUID_Test2 (ColA, ColB)
    SELECT dbo_GUID_Test.ColA, dbo_GUID_Test.ColB
    FROM dbo_GUID_Test;
    					
  11. Guarde y ejecute la consulta.
  12. Abra las dbo_GUID_Test dbo_GUID_Test2 tablas y. Tamaño las ventanas y las columnas para que puedan ver todo su contenido al mismo tiempo.
Tenga en cuenta que los valores GUID insertados en dbo_GUID_Test2.ColA no coinciden con los valores GUID de dbo_GUID_Test.ColA.

Referencias

Para obtener información adicional acerca de otro problema que implican las tablas vinculadas con campos UniqueIdentifier, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
253837ACC2000: # eliminadas en la tabla vinculada con UniqueIdentifier

Propiedades

Id. de artículo: 248907 - Última revisión: jueves, 13 de febrero de 2014 - Versión: 3.0
La información de este artículo se refiere a:
  • Microsoft Access 2000 Standard Edition
Palabras clave: 
kbnosurvey kbarchive kbmt kbbug kbfix KB248907 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 248907

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