2008-10-08 15 views
7

Necesito convertir una base de datos de acceso dividida, es decir, una que esté actualmente dividida entre archivos tow mdb, un front-end y un back-end. Veo muchas páginas web que, en esencia, dicen: "ejecuta el Asistente de Upsizing". Mi primera pregunta, muy básica:Subir una base de datos de acceso dividida

¿Debo ejecutar este asistente en mi mdb frontal o en mi back-end mdb?

Supongo que no quiero enlazar main mdb -> backend mdb -> sql server. ¿Debo ejecutar el asistente en el backend mdb, y luego en el frontend mdb cambiar las tablas vinculadas para apuntar al servidor sql en lugar de al backend mdb? Si es así, ¿cómo se hace? Cuando hago clic con el botón derecho y voy al Administrador de tablas vinculadas para ver una tabla en el frontend (vinculado al backend md), parece que solo me permite elegir un nuevo archivo mdb.

Respuesta

0

Como una cuestión de paranoia estándar, me gustaría hacer una copia de seguridad de los archivos existentes y ejecutar el Asistente de Upsizing en la interfaz. Si ocurre algo indeseable, solo revertir los cambios sobrescribiendo con la copia de seguridad.

4

Estoy de acuerdo con su primera suposición: querrá ejecutar el asistente en el back-end mdb.

Una vez que esté en SQL Server, también como ya lo ha adivinado, querrá vincular la interfaz para trabajar con los datos de SQL Server. Una forma de hacerlo es configurar un origen de datos ODBC para su nueva base de datos de SQL Server y seleccionarlo en el Administrador de tablas vinculadas.

  1. Abra el acceso directo Fuentes de datos (ODBC): en XP Pro, esto se encuentra en el Panel de control en Herramientas administrativas. (Si no lo ve, probablemente no tenga permiso para crear una fuente de datos, por lo que tendrá que trabajar con la gente de su red para hacerlo). Esto abrirá el Administrador de ODBC.
  2. En la pestaña Archivo DSN, haga clic en Agregar .... Verá una lista de controladores disponibles. Seleccione SQL Server y haga clic en Siguiente. (Si la interfaz solo se usa en su máquina, puede crear un DSN del sistema en su lugar.)
  3. Busque una ubicación común y el nombre de su origen de datos.
  4. Haga clic en Siguiente y finalice. Esto configurará la primera parte de la fuente de datos y abrirá el asistente de fuente de datos de SQL Server.
  5. Nombre la fuente de datos y seleccione el servidor en el que ha insertado la base de datos de back ups.
  6. Cambie el resto de la configuración según sea necesario (es posible que no necesite cambiar mucho, pero el alcance de esos cambios puede requerir una segunda pregunta) y haga clic hasta Finalizar.

Una vez que haya configurado la fuente de datos, entonces Obtener datos externos le dará la opción de seleccionarla como su fuente. (En 2007, se puede llegar desde la cinta de datos externos fuentes de datos ODBC están disponibles bajo las Más..)

Para ampliar un poco más sobre la base de preguntas de seguimiento de Matt:

La forma de hacerlo es una elección de diseño. Recomiendo que se actualice el mdb de back-end porque eso le permitiría mantener los formularios que tenía en Access; Creo que es menos una transición si sus datos están en SQL Server.

Antes de la conversión, sus tablas estaban vinculadas a la base de datos back-end, y el Administrador de tablas vinculadas mostraba los enlaces. Después de configurar la fuente de datos ODBC y vincular esas tablas, se mostrará ese enlace. Verá los enlaces de dos formas diferentes porque en realidad son diferentes tipos de enlaces (Acceso vs. ODBC), aunque los enlaces pueden tener el mismo aspecto en su mdb front-end.

1

Personalmente, he encontrado que el asistente de conversión hace un muy mal trabajo al determinar los tipos de datos correctos. Yo mismo crearía las tablas en el servidor SQL usando los tipos de datos que necesito, luego moveré los datos a las tablas existentes desde Access. de lo contrario, se le pegarán los datos de texto cuando podría usar varchar o float cuando realmente necesite decimal.

Una vez que se hayan movido los datos, eliminaría las tablas de acceso y el enlace a las tablas de SQL Server.

No haga nada sin tener primero una copia de seguridad de la base de datos.

0

Actualice la interfaz e importará las tablas de fondo antes de que se actualice. Hice esto hace una semana con un resultado exitoso.

Sin embargo, cualquier consulta que use -1 en lugar de Sí fallará. Cualquier tabla completa que se elimine en las tablas sin una clave principal fallará, y obtendrás un comportamiento diferente del que usarás simplemente mediante el uso de una consulta SQL de transferencia para truncar la tabla. El trunc eliminará todas las filas, la versión de Access puede dejar un espacio en blanco.

También necesitará incluir dbSeeChanges en cualquier lugar que tenga una apertura de conjunto de registros en una tabla con un tipo de datos de columna de autonumber. SQL los cambia a tipos de datos Identity, luego se queja antes de intentar abrir la tabla. Buena suerte.

Cuestiones relacionadas