2012-01-04 27 views
6

¿Hay alguna manera de que cada vez que insertemos datos en la tabla de Acceso Ms, entonces se sincronice en la tabla MS SQL? El esquema de tabla será el mismo en ambas bases de datos.Sincronizar datos de MS Access a MS SQL

Tengo que hacer algo para que los datos se sincronicen desde MS Access a MS SQL porque ambas bases de datos están activas.

+0

¿Qué versión de Access? – tnktnk

+0

MS Access2003 o superior – Pankaj

+2

Sincronización, como abreviación de Sincronizar. La gente entenderá lo que está preguntando, pero pensó que lo mencionaría porque puede afectar los resultados de búsqueda de motores que no conocen nada mejor. – Sam

Respuesta

0

Si tiene acceso a Access 2010, puede vincular a una tabla de SQL Server, siempre que esa tabla tenga un índice único, como una clave principal.

0

Puede escribir un paquete MS SQL SSIS para hacer esto. Aquí hay un artículo en how to set up your AccessDB as a datasource para que pueda contactarlo desde su paquete de SSIS (tenga en cuenta que querrá leer la sección de Access 2003 y anteriores). Y si nunca antes ha creado un paquete de SSIS, aquí hay un simple SSIS tutorial.

+0

Cuando los datos se insertarán en MS Access, ¿cómo podemos identificar en el paquete SSIS esa inserción de datos en la tabla de acceso?Quiero decir que esta no es una tarea única cuando los datos se insertarán en MS Access, entonces debería estar en la tabla MS SQL – Pankaj

+0

. Aquí hay algunos enfoques diferentes. Puede indicarle a SSIS que solo mueva las filas que no están en su tabla de SQL Server, o puede especificar las filas mediante una consulta, o puede agregar todas sus filas de Acceso a una tabla temporal en su Servidor SQL y luego hacer una caída /rebautizar. Y, por supuesto, deberá configurarlo para que se ejecute todas las noches o con la frecuencia que lo necesite. – Aaron

0

Aprecio que su pregunta se refiera a MS Access primero, pero como ya tiene un servidor MS SQL, no es posible obtener un segundo y luego desmantelar la base de datos de Access, entonces podría usar el administrador de replicación Servidor SQL. Si no, entonces tiene la opción de abordar el problema desde ambos lados, puede vincular las tablas de acceso desde MS SQL, o viceversa, puede vincular el acceso a MS SQL, con el segundo enfoque podría escribir un script VBA en una máquina local para ejecutar como y cuando desee completar la sincronización por usted. ¿Con qué frecuencia necesita sincronizar y cuántos datos a la vez?

1

No conozco el contexto en el que se implementará su aplicación, y prefiero usar solo la base de datos de SQL Server.

Aún así, si realmente necesita sincronizar Access y SQL Server, usaría un proyecto de acceso (formato de archivo .adp). Está conectado de forma nativa a una base de datos de SQL Server desde el momento en que se creó, y utiliza la arquitectura OLE DB para transmitir datos, que considero que es mejor que ODBC.

Puede encontrar más detalles sobre los archivos ADP en esta página de soporte de Access: Create an Access Project.

Espero que te pueda ayudar.

0

Aquí está la oferta guyz/galz ..... él está usando Access 2003, todo lo que tiene que hacer es hacer una tabla vinculada directamente a la base de datos MS SQL y estar listo con las actualizaciones lo ha hecho directamente a la mesa.

Incluso si necesita la tabla sin conexión disponible, entonces solo necesita compilar la lógica para manejar el "reflejo" en application.open.

De cualquier manera, realmente debería usar JUST Access o MS SQL, pero mezclar los dos para el intercambio de datos es una idea muy poco sabia.