Importar o vincular datos de SQL Server

Si su departamento o grupo de trabajo utiliza Microsoft SQL Server para almacenar datos, pueden darse situaciones en las que necesite trabajar con algunos de los datos de SQL Server en Microsoft Office Access 2007.

Si no está familiarizado con SQL Server y desea aprender más sobre este programa, visite la página principal de Microsoft SQL Server. Siga el vínculo que se muestra en la sección Vea también de este artículo.

Puede traer datos desde objetos de SQL Server (tablas o vistas) a Office Access 2007 de dos maneras: mediante importación o vinculación. Si desea importar los datos, cópielos en la base de datos de Access. Los cambios posteriores que realice en los datos de Access no se reflejarán en la base de datos de SQL Server. De igual manera, los cambios que efectúe en la tabla o vista de SQL Server tampoco se reflejarán en la tabla de Access. En cambio, si vincula a los datos de SQL Server, éstos permanecen en el equipo SQL Server y Access mantiene una conexión con ellos. Los cambios posteriores que realice en los datos de Access se reflejarán en los datos de SQL Server, y los cambios que efectúe en la base de datos de SQL Server también se reflejarán en la tabla vinculada de Access.

En este artículo se describen los pasos para importar y para vincular datos de SQL Server a Access 2007.

¿Qué desea hacer?

Importar datos de SQL Server

Vincular a datos de SQL Server

Obtener información sobre cómo Access interpreta los tipos de datos de SQL Server

Importar datos de SQL Server

Al importar datos de SQL Server se crea una copia de los mismos en una base de datos de Access. Durante la importación, se especifican las tablas o vistas que se desea copiar.

La operación de importación crea una tabla en Access y, a continuación, copia los datos desde la base de datos de SQL Server a la tabla de Access. Encontrará vínculos con más información acerca de las tablas y cómo se estructura una base de datos en la sección Vea también.

Al final de la operación de importación, puede optar por guardar los detalles de dicha operación como una especificación. Una especificación de importación permite repetir la operación de importación en el futuro sin tener que realizar los pasos del Asistente para importación cada vez.

Situaciones comunes en las que importar una tabla de SQL Server en Access

Normalmente, los motivos por los que se importan datos de SQL Server en una base de datos de Access son los siguientes:

  • Se desea mover definitivamente los datos de SQL Server a una base de datos de Access porque ya no se necesitan dichos datos en la base de datos de SQL Server. Puede importar los datos en Access y, a continuación, eliminarlos de la base de datos de SQL Server.

  • Su departamento o grupo de trabajo utiliza Access, pero en ocasiones se hace referencia a datos adicionales contenidos en una base de datos de SQL Server que deben combinarse en una de las bases de datos de Access que se utilizan.

En los siguientes pasos se explica cómo importar datos de SQL Server en una base de datos de Access.

Prepararse para la operación de importación

  1. Busque la base de datos de SQL Server que contiene los datos que desea copiar. Para obtener la información de conexión, póngase en contacto con el administrador de la base de datos.

  2. Identifique las tablas o vistas que desea copiar en la base de datos de Access. Puede importar varios objetos en una sola operación de importación.

  3. Revise los datos de origen y tenga en cuenta lo siguiente:

    • Access no admite más de 255 campos en una tabla, por lo que Access importa únicamente las primeras 255 columnas.

    • El tamaño máximo de una base de datos de Access es 2 gigabytes, menos el espacio necesario para los objetos de sistema. Si la base de datos de SQL Server contiene tablas muy grandes, es posible que no pueda importarlas todas en un solo archivo .accdb. En tal caso, quizá desee considerar la posibilidad de vincular los datos a la base de datos de Access en lugar de importarlos.

    • Access no crea automáticamente relaciones entre tablas relacionadas al final de una operación de importación. Debe crear manualmente las relaciones entre las diversas tablas nuevas y existentes mediante las opciones de la ficha Relaciones. Para que se muestre la ficha Relaciones:

      En el grupo Mostrar u ocultar de la ficha Herramientas de base de datos, haga clic en Relaciones.Imagen del botón

  4. Identifique la base de datos de Access en la que desea importar los datos de SQL Server.

    Asegúrese de que dispone de los permisos necesarios para agregar datos a la base de datos de Access. Si no desea almacenar los datos en ninguna de las bases de datos existentes, cree una base de datos en blanco; para ello, haga clic en el botón de Microsoft Office Imagen del botón de Microsoft Office y, a continuación, haga clic en Nuevo.

  5. Revise las tablas, si las hubiera, en la base de datos de Access.

    La operación de importación crea una tabla con el mismo nombre que el objeto de SQL Server. Si ese nombre ya se está utilizando, Access anexa "1" al nombre de la nueva tabla;  por ejemplo, Contactos1. (Si también Contactos1 ya se está utilizando, Access crea Contactos2, y así sucesivamente.)

    Nota   Access no sobrescribe nunca una tabla de la base de datos como parte de una operación de importación, y no se pueden anexar datos de SQL Server a una tabla existente.

Importar los datos

  1. Abra la base de datos de destino.

    En el grupo Importar de la ficha Datos externos, haga clic en Más.

  2. Haga clic en Base de datos ODBC Imagen del botón.

  3. Haga clic en Importar el origen de datos en una nueva tabla de la base de datos actual y, a continuación, haga clic en Aceptar.

  4. En el cuadro de diálogo Seleccionar origen de datos, si ya existe el archivo .dsn que desea utilizar, haga clic en el archivo en la lista.

    Necesito crear un nuevo archivo .dsn

    Nota   Los pasos de este procedimiento pueden ser ligeramente distintos según el software que tenga instalado en el equipo.

    1. Haga clic en Nuevo para crear un nuevo nombre de origen de datos (DSN).

      Se iniciará el Asistente para crear orígenes de datos.

    2. En el asistente, seleccione SQL Server en la lista de controladores y, a continuación, haga clic en Siguiente.

    3. Escriba un nombre para el archivo .dsn, o bien haga clic en Examinar para guardar el archivo en una ubicación diferente.

      Nota   Debe disponer de permisos de escritura en la carpeta para poder guardar el archivo .dsn.

    4. Haga clic en Siguiente, revise la información de resumen y haga clic en Finalizar para completar el asistente.

      Se iniciará el Create a New Data Source to SQL Server Wizard.

    5. En el asistente, escriba una descripción del origen de datos en el cuadro Descripción. Este paso es opcional.

    6. En Which SQL Server do you want to connect to, en el cuadro Servidor, escriba o seleccione el nombre del equipo SQL Server al que desea conectarse y, a continuación, haga clic en Siguiente para continuar.

    7. En esta página del asistente, es posible que necesite obtener información del administrador de la base de datos de SQL Server; por ejemplo, para determinar si se debe utilizar la autenticación de Microsoft Windows NT o de SQL Server. Haga clic en Siguiente para continuar.

    8. En la siguiente página del asistente, puede que necesite obtener más información del administrador de la base de datos de SQL Server antes de continuar. Si desea conectarse a una base de datos concreta, asegúrese de que está activada la casilla de verificación Change the default database to. Después, seleccione la base de datos con la que desea trabajar y haga clic en Siguiente.

    9. Haga clic en Finalizar. Revise la información de resumen y, a continuación, haga clic en Probar origen de datos.

    10. Revise los resultados de la prueba y, después, haga clic en Aceptar para cerrar el cuadro de diálogo Prueba del origen de datos ODBC de SQL Server.

      Si la prueba se ha realizado correctamente, vuelva a hacer clic en Aceptar para completar el asistente, o bien haga clic en Cancelar para volver al asistente y efectuar cambios en la configuración.

  5. Haga clic en Aceptar para cerrar el cuadro de diálogo Seleccionar origen de datos.

    Access muestra el cuadro de diálogo Importar objetos.

  6. En Tablas, haga clic en cada tabla o vista que desea importar y, a continuación, haga clic en Aceptar.

  7. Si aparece el cuadro de diálogo Seleccionar identificador de registro único, Access no ha podido determinar qué campo o campos identifican de forma exclusiva cada fila de un objeto concreto. En tal caso, seleccione el campo o la combinación de campos que son exclusivos para cada fila y, después, haga clic en Aceptar. Si no está seguro, consulte al administrador de la base de datos de SQL Server.

Access importará los datos. Si tiene pensado repetir la operación de importación más adelante, puede guardar los pasos de la importación como una especificación de importación y volver a ejecutarlos fácilmente con posterioridad. Vaya a la siguiente sección de este artículo para realizar esta tarea. Si no desea guardar los detalles de la especificación de importación, haga clic en Cerrar en Guardar pasos de importación, en el cuadro de diálogo Obtener datos externos: Base de datos ODBC. Access realizará la operación de importación y mostrará la nueva tabla o tablas en el panel de exploración.

Guardar los pasos de importación como una especificación

  1. En Guardar pasos de importación, en el cuadro de diálogo Obtener datos externos: Base de datos ODBC, active la casilla de verificación Guardar los pasos de la importación.

    Aparecerán varios controles adicionales.

  2. En el cuadro Guardar como, escriba un nombre para la especificación de importación.

  3. Escriba una descripción en el cuadro Descripción. Este paso es opcional.

  4. Si desea realizar la operación a intervalos fijos (por ejemplo, semanal o mensualmente), active la casilla de verificación Crear tarea de Outlook. Así se crea una tarea de Microsoft Office Outlook 2007 que le permitirá ejecutar la especificación.

  5. Haga clic en Guardar importación.

Configurar la tarea de Outlook

Si ha activado la casilla de verificación Crear tarea de Outlook en el procedimiento anterior, Access iniciará Office Outlook 2007 y mostrará una nueva tarea. Realice estos pasos para configurar la tarea.

Nota   Si Outlook no está instalado, Access muestra un mensaje de error. Si Outlook no está configurado correctamente, se inicia el Outlook Configuration Wizard. Para configurar Outlook, siga las instrucciones de este asistente.

  1. En la ventana de tareas de Outlook, revise y modifique las opciones de la tarea, por ejemplo, Fecha de vencimiento y Aviso.

    Para hacer que la tarea se repita, haga clic en Periodicidad y rellene la información adecuada.

    En esta ilustración se muestra el Programador de tareas con algunas opciones típicas.

    Programador de tareas de Outlook

    Para obtener más información acerca de la programación de tareas de Outlook, vea el artículo Programar una operación de importación o exportación.

  2. Cuando termine de configurar la tarea en Outlook, en la ficha Tarea, en el grupo Acciones, haga clic en Guardar y cerrar.

Ejecutar una tarea guardada

  1. En el panel de exploración de Outlook, haga clic en Tarea y, a continuación, haga doble clic en la tarea que desea ejecutar.

  2. En la ficha Tarea, en el grupo Microsoft Office Access, haga clic en Ejecutar importación Imagen del botón.

  3. Vuelva a la ventana de Access y presione F5 para actualizar el panel de exploración.

  4. Haga doble clic en la tabla importada para abrirla en la vista Hoja de datos.

  5. Asegúrese de que todos los campos y registros se han importado, y que no se han producido errores.

  6. En el panel de exploración, haga clic con el botón secundario del mouse (ratón) en la tabla importada y, a continuación, haga clic en Vista Diseño en el menú contextual. Revise los tipos de datos de los campos y otras propiedades de éstos.

Volver al principio

Vincular a datos de SQL Server

La vinculación le permite conectarse a datos sin importar esta información, de manera que pueda ver y modificar los datos más recientes tanto en la base de datos de SQL Server como en la base de datos de Access, sin tener que crear y mantener una copia de los datos en Access. Si no desea copiar los datos de SQL Server en la base de datos de Access, pero desea ejecutar consultas y generar informes basados en dichos datos, deberá vincularlos en lugar de importarlos.

Cuando se vincula a una tabla o vista de una base de datos de SQL Server, Access crea una nueva tabla (a menudo llamada tabla vinculada) que refleja la estructura y el contenido del objeto de origen. Puede realizar cambios en los datos en SQL Server o bien, en la vista Hoja de datos o Formulario de Access. Los cambios efectuados en los datos en una de las aplicaciones se reflejarán en la otra. No obstante, si desea realizar cambios estructurales, como quitar o modificar una columna, deberá hacerlo en la base de datos de SQL Server o en un proyecto de Access que esté conectado a esa base de datos. No es posible agregar, eliminar o modificar los campos en una tabla vinculada mientras se trabaja en Access.

Si la base de datos de SQL Server contiene una gran cantidad de datos, resulta más conveniente vincularlos que importarlos, ya que el tamaño máximo de una base de datos de Access es 2 gigabytes (menos el espacio necesario para los objetos de sistema). Este límite puede superarse si se importan muchas tablas o vistas grandes, mientras que la vinculación a los datos no aumenta excesivamente el tamaño de la base de datos de Access.

Situaciones comunes en las que vincular a datos de SQL Server

Normalmente, los motivos por los que se vincula a una tabla o vista de SQL Server desde una base de datos de Access son los siguientes:

  • Su departamento o grupo de trabajo utiliza Access para generar informes y consultas, y SQL Server para almacenar los datos. Los equipos individuales pueden crear tablas y vistas de SQL Server para un almacenamiento centralizado pero, a menudo, es necesario llevar estos datos a programas de escritorio para la agregación y la generación de informes. La vinculación es la elección adecuada, ya que permite a los usuarios tanto de la base de datos de SQL Server como de la base de datos de Access agregar y actualizar los datos, así como ver y trabajar siempre con los datos más recientes.

  • Usted es un usuario de Access que recientemente ha comenzado a utilizar SQL Server. Ha migrado varias de sus bases de datos a SQL Server, y la mayoría de las tablas de estas bases de datos son tablas vinculadas. A partir de ahora, en lugar de crear tablas en Access, va a crear tablas y vistas en SQL Server y, a continuación, vinculará las bases de datos de Access a ellas.

  • Desea seguir almacenando los datos en SQL Server, pero también desea trabajar con los datos más recientes en Access para ejecutar consultas e imprimir informes que ha diseñado en Access.

Prepararse para vincular a una tabla de SQL Server

  1. Busque la base de datos de SQL Server que contiene los datos a los que desea vincular. Para obtener la información de conexión, póngase en contacto con el administrador de la base de datos.

  2. Identifique las tablas y vistas a las que desea vincular. Puede vincular a varios objetos en una sola operación de vinculación.

  3. Revise los datos de origen y tenga en cuenta lo siguiente:

    • Access no admite más de 255 campos en una tabla, por lo que la tabla vinculada contendrá únicamente los primeros 255 campos del objeto al que vincule.

    • Las columnas que son de sólo lectura en un objeto de SQL Server seguirán siéndolo en Access.

    • En Access, no podrá agregar, eliminar ni modificar columnas en la tabla vinculada.

  4. Identifique la base de datos de Access en la que desea crear las tablas vinculadas. Asegúrese de que dispone de los permisos necesarios para agregar datos a la base de datos. Si no desea almacenar los datos en ninguna de las bases de datos existentes, cree una base de datos en blanco con el siguiente comando:

    Haga clic en el botón de Microsoft Office Imagen del botón de Microsoft Office y, a continuación, haga clic en Nuevo.

  5. Revise las tablas de la base de datos de Access. Cuando se vincula a una tabla o vista de SQL Server, Access crea una tabla vinculada con el mismo nombre que el objeto de origen. Si ese nombre ya se está utilizando, Access anexa "1" al nombre de la nueva tabla vinculada;  por ejemplo, Contactos1. (Si también Contactos1 ya se está utilizando, Access crea Contactos2, y así sucesivamente.)

Vincular a los datos

  1. Abra la base de datos de destino.

  2. En el grupo Importar de la ficha Datos externos, haga clic en Más.

  3. Haga clic en Base de datos ODBC.

  4. Haga clic en Vincular al origen de datos creando una tabla vinculada y, a continuación, haga clic en Aceptar.

  5. En el cuadro de diálogo Seleccionar origen de datos, haga clic en el archivo .dsn que desea utilizar o bien, haga clic en Nuevo para crear un nuevo nombre de origen de datos (DSN).

  6. En el cuadro de diálogo Seleccionar origen de datos, si ya existe el archivo .dsn que desea utilizar, haga clic en el archivo en la lista.

    Necesito crear un nuevo archivo .dsn

    Nota   Los pasos de este procedimiento pueden ser ligeramente distintos según el software que tenga instalado en el equipo.

    1. Haga clic en Nuevo para crear un nuevo nombre de origen de datos (DSN).

      Se iniciará el Asistente para crear orígenes de datos.

    2. En el asistente, seleccione SQL Server en la lista de controladores y, a continuación, haga clic en Siguiente.

    3. Escriba un nombre para el archivo .dsn, o bien haga clic en Examinar para guardar el archivo en una ubicación diferente.

      Nota   Debe disponer de permisos de escritura en la carpeta para poder guardar el archivo .dsn.

    4. Haga clic en Siguiente, revise la información de resumen y haga clic en Finalizar para completar el Asistente para crear orígenes de datos.

      Se iniciará el Create a New Data Source to SQL Server Wizard.

    5. En el asistente, escriba una descripción del origen de datos en el cuadro Descripción. Este paso es opcional.

    6. En Which SQL Server do you want to connect to, en el cuadro Servidor, escriba o seleccione el nombre del equipo SQL Server al que desea conectarse y, a continuación, haga clic en Siguiente para continuar.

    7. En esta página del asistente, es posible que necesite obtener información del administrador de la base de datos de SQL Server; por ejemplo, si se debe utilizar la autenticación de Windows NT o de SQL Server. Haga clic en Siguiente para continuar.

    8. En la siguiente página del asistente, puede que necesite obtener más información del administrador de la base de datos de SQL Server. Si desea conectarse a una base de datos concreta, asegúrese de que está activada la casilla de verificación Change the default database to, seleccione la base de datos de SQL Server con la que desea trabajar y haga clic en Siguiente.

    9. Haga clic en Finalizar. Revise la información de resumen y, a continuación, haga clic en Probar origen de datos.

    10. Revise los resultados de la prueba y, después, haga clic en Aceptar para cerrar el cuadro de diálogo Prueba del origen de datos ODBC de SQL Server.

      Si la prueba se ha realizado correctamente, vuelva a hacer clic en Aceptar para completar el asistente, o bien haga clic en Cancelar para volver al asistente y efectuar cambios en la configuración.

  7. Haga clic en Aceptar.

    Access muestra el cuadro de diálogo Vincular tablas.

  8. En Tablas, haga clic en cada tabla o vista a la que desea vincular y, a continuación, haga clic en Aceptar.

  9. Si aparece el cuadro de diálogo Seleccionar identificador de registro único, Access no ha podido determinar qué campo o campos identifican de forma exclusiva cada fila de los datos de origen. En tal caso, seleccione el campo o la combinación de campos que son exclusivos para cada fila y, después, haga clic en Aceptar. Si no está seguro, consulte al administrador de la base de datos de SQL Server.

Access realizará la operación de vinculación y mostrará la nueva tabla o tablas vinculadas en el panel de exploración.

Importante   Cada vez que abra una tabla vinculada o el objeto de origen, verá que contiene los datos más recientes. No obstante, los cambios estructurales realizados en un objeto de SQL Server no se reflejan automáticamente en una tabla vinculada.

Para actualizar una tabla vinculada mediante la aplicación de la estructura más reciente del objeto de SQL Server:

  1. Haga clic con el botón secundario del mouse (ratón) en la tabla en el panel de exploración y, a continuación, haga clic en Administrador de tablas vinculadas en el menú contextual.

  2. Active la casilla de verificación situada junto a cada tabla vinculada que desea actualizar o bien, haga clic en Seleccionar todo para seleccionar todas las tablas vinculadas.

  3. Haga clic en Aceptar.

    Si la actualización se ha realizado correctamente, Access muestra un mensaje para indicarlo. De lo contrario, Access muestra un mensaje de error.

  4. Haga clic en Cerrar para cerrar el Administrador de tablas vinculadas.

Volver al principio

Obtener información sobre cómo Access interpreta los tipos de datos de SQL Server

Dado que los tipos de datos de Access son distintos a los tipos de datos de SQL Server, Access debe determinar cuál es el tipo de datos de Access más adecuado para cada columna de cada tabla o vista de SQL Server que vaya a importar o vincular. Por ejemplo, una columna de SQL Server del tipo de datos bit se importa o vincula en Access con el tipo de datos Sí/No. Otro ejemplo sería una columna de SQL Server del tipo de datos nvarchar(255) (o más pequeño), que se importa o vincula en Access con el tipo de datos Texto; pero, en cambio, una columna del tipo de datos nvarchar(256) (o más grande) se inserta como un campo Memo de Access. Después de realizar una operación de importación o vinculación, deberá abrir la tabla en la vista Diseño y confirmar los tipos de datos que Access ha asignado a los campos. Puede cambiar los tipos de datos de los campos en tablas importadas; pero no puede cambiar los tipos de datos de los campos en tablas vinculadas, excepto en la base de datos de SQL Server o en un proyecto de Access que éste conectado a esa base de datos.

En la siguiente tabla se enumeran los tipos de datos principales de SQL Server. En las columnas segunda y tercera se muestra cómo Access interpreta cada tipo.

Tipo de datos de SQL Server

Tipo de datos de Access

Tamaño de campo de Access

bigint

Texto

255

binario(tamaño del campo)

Binario

Igual que el tamaño de campo de SQL Server

bit

Sí/No

char(tamaño del campo), donde tamaño del campo es menor o igual que 255

Texto

Igual que el tamaño de campo de SQL Server

char(tamaño del campo), donde tamaño del campo es mayor que 255

Memo

datetime

Fecha/Hora

decimal(precisión, escala)

Numérico

Decimal (Las propiedades Precisión y Escala de Access coinciden con la precisión y escala de SQL Server.)

flotante

Numérico

Doble

image

Objeto OLE

int

Numérico

Entero largo

money

Moneda

nchar(tamaño del campo), donde tamaño del campo es menor o igual que 255

Texto

Igual que el tamaño de campo de SQL Server

nchar(tamaño del campo), donde tamaño del campo es mayor que 255

Memo

ntext

Memo

numeric(precisión, escala)

Numérico

Decimal (Las propiedades Precisión y Escala de Access coinciden con la precisión y escala de SQL Server.)

nvarchar(tamaño del campo), donde tamaño del campo es menor o igual que 255

Texto

Igual que el tamaño de campo de SQL Server

nvarchar(tamaño del campo), donde tamaño del campo es mayor que 255

Memo

nvarchar(MAX)

Memo

real

Numérico

Simple

smalldatetime

Fecha/Hora

smallint

Numérico

Entero

smallmoney

Moneda

sql_variant

Texto

255

text

Memo

timestamp

Binario

8

tinyint

Numérico

Byte

uniqueidentifier

Numérico

Id. de réplica

varbinary

Binario

Igual que el tamaño de campo de SQL Server

varbinary(MAX)

Objeto OLE

varchar(tamaño del campo), donde tamaño del campo es menor o igual que 255

Texto

Igual que el tamaño de campo de SQL Server

varchar(tamaño del campo), donde tamaño del campo es mayor que 255

Memo

varchar(MAX)

Memo

xml

Memo

Volver al principio

Se aplica a: Access 2007



¿Le ha sido útil esta información?

No

¿Cómo podemos mejorarlo?

255 caracteres restantes

Para proteger su privacidad, no incluya información de contacto en sus comentarios. Revisar política de privacidad.

¡Gracias por sus comentarios!

Recursos de soporte técnico

Cambiar idioma