none
Copiar datos de Tablas SQL a ACCESS RRS feed

  • Pregunta

  • Buen día y gracias de antemano para la ayuda que me puedan dar a esta cuestión. 

    Yo tengo un sistema basado en SQL 2008 Express, pero a final de mes se necesita pasar la información de una serie de tablas a una base en ACCESS, hoy se hace mediante un programa artículo a artículo, por lo que la demora es grande, ya que la cantidad de artículos es enorme. Al ser SQL Express no me permite guardar algún paquete que se cree para exportar.

    Mi pregunta en especifico es ¿cómo podría lograrlo desde un procedimiento almacenado utilizando el INSERT?

    lunes, 2 de marzo de 2015 14:10

Respuestas

  • Hola.

    Claro que puedes (y debes) guardar la configuración de la exportación que hagas con el asistente, en un paquete de Integration Services que luego tendrás que ajustar y afinar, y posteriormente programar en un job para que se ejecute automáticamente. Para salvar el paquete, hay opciones en los pasos finales del wizard.

    Sobre hacer las inserciones en SQL Server y Access de forma síncrona, obviamente se puede, otra cosa es que sea algo recomendable. La mayoría de los escenarios no lo requieren y los que los requieren supondrían un lastre importante desde el punto de vista de SQL Server. Y más si tenemos en cuenta que con vincular las tablas (que ya has dicho que "no quieren"), los datos no estarían redundados.

    Si nos dices qué funcionalidad o requerimiento has de cubrir desde Access, a lo mejor podemos sugerirte una alternativa que se ajuste a tus necesidades.


    Alberto López Grande
    SQL Server MVP
    Visita mi blog en http://qwalgrande.com
    Sígueme en twitter en http://twitter.com/qwalgrande

    domingo, 8 de marzo de 2015 9:41
    Moderador

Todas las respuestas

  • Hola,

    Has intentado usar el Wizard [Asistente para importación y exportación de SQL Server]. Es tan fácil como indicar el origen de datos y el destino, tienes la facilidad de copiar datos de una o varias tablas  o vistas o escribir una consulta para especificar los datos que se van a transferir. Para iniciar con el wizard debes de hacer clic derecho sobre la base de datos origen, seleccionar la opción [Tareas] y luego [Exportar datos]

    Por otro lado, también puedes importar datos desde Microsoft Access. Para ello deberás ir a la ficha [DATOS EXTERNOS], en la sección [Importar y vincular] haces clic en el botón [Base de datos ODBC]. En el asistente elijes Importar el origen de datos en una nueva tabla de la base de datos actual. Configuras el origen de datos para luego importar los objetos(tablas, vistas) que desees.

    Coméntanos como te fue.

    Si la solución propuesta atendió su consulta no olvide marcarla como respuesta.

    Willams Morales
    Arequipa - PERÚ

    lunes, 2 de marzo de 2015 15:14
  • Hola Williams, gracias por la respuesta, se que por el wizard es fácil, pero si tienes en cuenta que debo exportar cerca de 40 tablas a las cuales tengo que configurarles que borre los datos de las tablas de destino y que además el wizard no puedo guardarlo por el SQL que se emplea acá, te darás cuenta que es un trabajo engorroso. 

    Con respecto a la opción de hacerlo desde Access con importación y vincular las tablas se puede, pero no quieren la vinculación de las tablas, por lo tanto tengo que morir en la programación.

    Lo que me haría falta es poder utilizar el INSERT usando dos orígenes de datos diferentes en la misma instrucción.

    lunes, 2 de marzo de 2015 17:33
  • Hola.

    Claro que puedes (y debes) guardar la configuración de la exportación que hagas con el asistente, en un paquete de Integration Services que luego tendrás que ajustar y afinar, y posteriormente programar en un job para que se ejecute automáticamente. Para salvar el paquete, hay opciones en los pasos finales del wizard.

    Sobre hacer las inserciones en SQL Server y Access de forma síncrona, obviamente se puede, otra cosa es que sea algo recomendable. La mayoría de los escenarios no lo requieren y los que los requieren supondrían un lastre importante desde el punto de vista de SQL Server. Y más si tenemos en cuenta que con vincular las tablas (que ya has dicho que "no quieren"), los datos no estarían redundados.

    Si nos dices qué funcionalidad o requerimiento has de cubrir desde Access, a lo mejor podemos sugerirte una alternativa que se ajuste a tus necesidades.


    Alberto López Grande
    SQL Server MVP
    Visita mi blog en http://qwalgrande.com
    Sígueme en twitter en http://twitter.com/qwalgrande

    domingo, 8 de marzo de 2015 9:41
    Moderador
  • Hasta dónde yo se, vincular las tablas es una opción pero puedes sólo importar las tablas de sql a access. En este video aparece lo que te digo:

    https://www.youtube.com/watch?v=HYsujwWgmJU


    José Fernández Tamames MBA | MCT | MCTS | ITILv3 Móvil: 685106684

    domingo, 8 de marzo de 2015 19:14
  • Hola, disculpen mi demora, estuve fuera varios días.

    Agradezco mucho todas las respuestas, retomando el tema al final instalé un SQL Enterprise e hice un fichero .dtsx. Ahora el problema que tengo es que quiero ejecutarlo desde un programa en VB.NET, eso por supuesto es fácil de hacer, pero lo que no he logrado (y lo he buscado bastante tiempo en internet) es poder cambiar en tiempo de ejecución el nombre de la base de datos de ACCESS a la cual voy a dirigir los datos de la exportación.

    Si alguien me pudiera ayudar con este tema lo agradecería mucho.

    Gracias.

    miércoles, 8 de abril de 2015 14:44