2009-03-11 25 views
5

He visto numerosas respuestas a preguntas similares a esta. No he visto en la web que muchas personas hayan formulado la pregunta aparentemente simple "¿Cómo conecto Access 2007 a una base de datos de SQL Server 2008?", Pero todas las respuestas describen cómo migrar desde Access 2007 a una base de datos de SQL Server 2008 o describen cómo conectar el acceso 2007 a una base de datos SQL Server 2005. No puedo encontrar ninguna solución simple a mi problema (y probablemente este sea un problema para muchos otros). Aquí está la pregunta (perdón por el énfasis excesivo):Conectar Access 2007 a SQL Server 2008 Base de datos

¿Cómo me conecto a una base de datos de SQL server 2008 (y me refiero a 2008, no 2005 :)) desde el acceso 2007? Disculpas nuevamente por el énfasis excesivo, pero esta pregunta muy simple, y lo que pensé que debería ser una tarea muy simple parece, sí, ... ¡imposible! He intentado ejecutar el navegador de servidor sql, habilitando pipes, TCP, etc., pero parece que con 2008 SQLEXPRESS simplemente no se reconoce. Por favor alguien puede ayudar con esto. Peter

+0

Por favor, diga exactamente lo que ha intentado, y cuál fue exactamente el resultado. "no fue reconocido" no es mucho detalle. –

+0

¿Tiene las herramientas de cliente de SQL 2008 instaladas en la computadora que está ejecutando el acceso? – David

+0

He agregado access-data-project a las etiquetas para atraer a las partes interesadas en el futuro. Esta es una pregunta común que aparece. – CJM

Respuesta

0

Una solución (aunque esto puede no aplicarse a SQL Express) es utilizar un Proyecto de Datos de Acceso, aunque en 2007 no es tan intuitivo cómo hacerlo.

Cree una nueva base de datos (en blanco), pero en lugar de aceptar la extensión .accdb predeterminada, cámbiela a .adp. También puede seleccionar el formato de Acceso al proyecto de datos (.adp) si usa el diálogo de exploración para establecer la ubicación del archivo.

Una vez creado, se le preguntará si desea vincularlo a un DB SQL ... el resto es bastante intuitivo, pero solicite más detalles si es necesario.

+0

Te estás comprando un montón de problemas al hacer esto. Hay mucha más documentación sobre el uso de tablas vinculadas de ODBC con un MDB/ACCDB, y esa ha sido en realidad la arquitectura recomendada de MS para usar Access como front-end para SQL Server desde hace varios años. –

+0

El OP quería acceso a SQL a través de Access; un ADP es la manera más rápida y simple de lograr eso. Hay pro y contras para ADP y ODBC, pero no se puede inferir nada de los OP en cuanto a cuál sería mejor. Y tampoco habrá "toneladas de problemas". – CJM

2

No debería haber ningún problema al conectar Access 2007 a una base de datos de SQL Server 2008.

Usted necesita asegurarse de que:

  1. Su base de datos de SQL Server 2008 es accesible, es decir, que no está bloqueada y que es accesible a la máquina (s), donde tendrá su Acceda a la aplicación 2007.
    Algunas cosas a comprobar:

    • En SQL Server 2008, vaya a Propiedades> Conexiones> Marque "Permitir conexiones remotas con este servidor".
    • Habilite TCP/IP en Configuration Manager.
    • Asegúrese de que el firewall permita las conexiones entrantes en el puerto TCP 1433.
    • También puede iniciar el servicio del explorador de SQL Server para que pueda encontrar su instancia de SQL Server.
  2. Ha creado un DSN ODBC (un DSN de sistema) utilizando la herramienta de administración ODBC de Windows. Si está ejecutando un sistema de 64 bits, asegúrese de que sea using the 32 bit version of ODBC para crear su DSN, de lo contrario, nunca será visible para Access, que es una aplicación de 32 bits.

  3. Una vez que haya creado el enlace ODBC (y probado que funciona) en la máquina donde está instalado Access, puede simplemente vincular las tablas: En Access 2007, en la pestaña de la cinta de datos externos> importar> Más> Base de datos ODBC .
    A continuación, seleccione el DSN que cree para su base de datos SQL Server 2008 y elija las tablas que desea vincular.

+0

Quizás, si desea acceder a las tablas SQL en una base de datos de acceso existente, esto sería adecuado, pero aparece el OP * que simplemente solicita acceso a datos SQL a través de Access, en cuyo caso un ADP es más eficiente. – CJM

+1

Los ADP ahora están desaprobados por MS. Con la excepción de los informes, ahora dicen que MDB/ACCDB con ODBC será más rápido. También es mucho menos complicado que los ADP, que han sido un objetivo en movimiento desde que se desarrollaron. –

3

Chicos - realmente debería comprobar si esto funciona antes de disparar respuestas aleatorias.Lleva aproximadamente un minuto ejecutar un proyecto de Access y descubrir que en realidad no se conecta a SQL 2008 fácilmente.

Hay un montón de razones para utilizar los proyectos en lugar de ODBC, pero aquí hay algunos:

  • Existencia de DSN en máquinas de despliegue no se puede garantizar
  • El tráfico de red - no hace consultas de paso a través de
  • defecto
  • Pobre soporte para procedimientos almacenados

Suponiendo que los protocolos apropiados se han habilitado, la solución es ir a la pestaña Opciones avanzadas de los datos lin k diálogo y eliminar el valor en la configuración de la Biblioteca de red.

1

Ray, La razón por la que no está viendo su base de datos es debido a los permisos. Debe otorgar acceso a su base de datos al nombre de usuario que está usando. En MS SQL Server Management Studio amplíe la base de datos que creó y vaya a la pestaña de seguridad para configurar el nombre de usuario que está utilizando. O bien añadir o crear un nuevo usuario

Esperamos que esto ayude ....

0

Sólo tenían el mismo problema, pero encontrar un enlace que sugirió referirse al servidor en el Enlace de Datos Properites diálogo como \ SQLEXPRESS. - Parecería que el [.] Antes del nombre de la instancia marcó la diferencia.

Eso me sirvió de truco: me conecté pero luego accedí al acceso quejé que la versión combinada - Access 2007 & SQL 2008 no admitía la administración de objetos de BD desde Access.

mensaje fue el siguiente:

Esta versión de Microsoft Access no admite cambios de diseño con la versión de Microsoft SQL Server al que está conectado el proyecto de Access. Consulte el sitio web de Microsoft Office Update para obtener la última información y descargas. Sus cambios de diseño no serán guardados.

0

SQL Express 2008 + Access 2007 ambos en una estación de trabajo. Conéctese a Adventureworks SQL db desde Access 2007. Aquí vamos ...

  • Acceso Abierto 2007
  • clic en las ventanas o la parte superior izquierda del icono/nueva/clic en la base de datos en blanco/poner en nombre de archivo/
  • clic en el icono de exploración/guardar como tipo/Microsoft Office Access Projects (* .adp)/haga clic en Aceptar/
  • haga clic en Crear/en la pregunta ¿desea conectarse a una base de datos de servidor SQL existente?
  • haga clic en Sí/puede utilizar el cuadro desplegable para seleccionar su computadora pero ponerlo de esta manera ... (por ejemplo, si el nombre de su computadora es "laptop") ... laptop/SQLEXPRESS
  • Haga clic en usuario Windows NT integrado de seguridad/pulse la flecha hacia abajo en el paso 3. Seleccione la base de datos en el servidor: y debe mostrar la base de datos de adventureworks. haga clic en prueba si lo desea o simplemente OK.
1

Al ir a través del enlace o importar el asistente en Access, seleccione Sql Native Client 10.0.Cuando se le pregunte a qué servidor desea conectarse, el servidor no se mostrará en el cuadro combinado. Si escribe el nombre correcto del servidor y pulsa siguiente, irá a la pantalla de autenticación. Use la autenticación de Windows si eso es lo que elige y pulse Siguiente. En la siguiente pantalla, marque la casilla Cambiar la base de datos predeterminada y las bases de datos de su servidor deberían aparecer; entonces sabes que tienes una buena conexión. Recuerde que debe escribir el nombre correcto del servidor, que debe ser NOMBRE DE LA MÁQUINA \ NOMBRE DE LA INSTALACIÓN DEL SERVIDOR.

Cuestiones relacionadas