Puede recibir errores de conflicto de escritura al actualizar registros de una tabla vinculada de SQL Server en Access 2000

Seleccione idioma Seleccione idioma
Id. de artículo: 280730 - Ver los productos a los que se aplica este artículo
Avanzado: Requiere codificación experto, interoperabilidad, conocimientos y multiusuario.

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

Para obtener una versión de Microsoft Access 97 de este artículo, consulte 278696.
Expandir todo | Contraer todo

Síntomas

Recibe el siguiente error de conflicto de escritura cuando intenta actualizar registros en una tabla vinculada de SQL Server:
Este registro ha cambiado por otro usuario inició modificarlo. Si guarda el registro, sobrescribirá los cambios realizados por el otro usuario.

Copiar los cambios en el Portapapeles le permitirá observar los valores de otros usuario especificado y, a continuación, pegar los cambios de nuevo si decide realizar cambios.
Se le ofrecerá las siguientes opciones: Guardar registro , Copiar al Portapapeles o Hacer cambios .

Causa

Acceso crear campos de bits NULL, lo que hace que un error de coincidencia de tipos.

o

La tabla vinculada está usando campos definidos como tipo de datos de punto flotante (es decir, real). Este tipo de datos permite almacenar datos numéricos "punto flotante". Cuando el Registro editado se pasa a SQL Server, si ambos motores ve los datos de estos campos como si tuvieran el mismo valor, no hay ningún problema. Sin embargo, debido a de los algoritmos "redondeo" utilizados por JET y SQL Server, el valor real en comparación con puede variar. Ya JET revisar cada campo y ver si hay algún problema de simultaneidad, cuando JET compara el número de ve (en el campo tipo de datos "Real") en ese valor almacenado en SQL Server, si no coincide exactamente con el registro se supone que han cambiado y se produce un conflicto de escritura.

Solución

Para resolver el problema con el tipo de datos bit, siga uno de los siguientes:
  • Con SQL Server, abra la tabla en la vista Diseño y asignar un valor predeterminado de 0 (cero) en todos los campos de bits.

    Nota : esta opción, debe actualizar los registros que se especificaron antes de este cambio se realizó. Consulte el siguiente elemento para obtener más información.

  • Con SQL Server, ejecutar una instrucción Update de Transact-SQL en la tabla y establecer todos los campos de bits que tienen un valor null a un nuevo valor de 0 o 1.
  • Mediante SQL Server, cambie los campos de bits en algún otro tipo de datos, como int o tinyint .
  • Utiliza SQL Server, agregar un campo de marca de hora a la tabla.
  • Utilizar un proyecto de Microsoft Access (* .adp) en lugar de un acceso base de datos (*.mdb).

Para resolver el problema con tipos de datos de punto flotante, siga uno de los siguientes:
  • Agregar una columna timestamp a la tabla SQL. (JET, a continuación, utilizará sólo en este campo para ver si se ha actualizado el registro.)
  • Modificar el tipo de datos es un flotante no punto tipo de datos (por ejemplo, decimal ) en SQL Server.
  • Ejecutar una consulta Update para actualizar el registro. Debe hacerlo en lugar de basarse en la actualización del conjunto de registros.
Nota : si realiza cambios a los tipos de datos en las tablas de SQL Server, volver a vincular las tablas de Microsoft Access.

Más información

Pasos para reproducir este comportamiento

Los siguientes pasos se supone que tiene un conocimiento de cómo crear tablas en SQL Server y que está familiarizado con algunas herramientas como el Administrador corporativo de SQL Server.

También supone es que es consciente de cómo crear el archivo, usuario y nombres de origen de datos de sistema (DSN) y cómo utilizar un DSN para vincular una tabla a una base de datos de Microsoft Access 2000.
  1. En Microsoft SQL Server 7.0 o posterior, agregar una nueva tabla a la base de datos de ejemplo pubs que tiene la siguiente estructura de tabla:
    Contraer esta tablaAmpliar esta tabla
    Nombre de columnaDatos de tipoLongitudPermitir nulos
    fldIDint4<unchecked>
    fldBitbits1<checked>
    fldDescripvarchar50<checked>

  2. Efectúe las asignaciones de propiedad de columna siguientes en el campo fldID:
       Identity: Yes
       Identity Seed: 1
       Identity Increment: 1
    					
  3. Establezca el campo fldID como la clave principal y, a continuación, cierre y guarde la tabla como Tabla1.
  4. Insertar los siguientes registros en la tabla Tabla1:
    Contraer esta tablaAmpliar esta tabla
    fldIDfldBitfldDescrip
    11Registro nº 1
    2<null>Registro nº 2
    30Registro nº 3
    41Registro nº 4

  5. Cierre la tabla y, a continuación, cree un DSN de usuario que señala a su servidor SQL Server.
  6. Abra cualquier base de datos de Access 2000 y, a continuación, tabla vínculos de la Tabla1 de la base de datos pubs en la base de datos.
  7. Cambiar la descripción de registro # 1 para registro # 0. Tenga en cuenta que puede guardar el cambio.
  8. Intente cambiar la descripción de registro # 2 a 1 de registro. Observe que recibe un error cuando intenta guardar los cambios.

Propiedades

Id. de artículo: 280730 - Última revisión: jueves, 29 de julio de 2004 - Versión: 2.1
La información de este artículo se refiere a:
  • Microsoft Access 2000 Standard Edition
Palabras clave: 
kbmt kbdesign kbdatabase kberrmsg kbprb KB280730 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): 280730

Enviar comentarios

 

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