![]() |
Pasar un .dbf en un directorio a un db sql
Hola, mi problema es el siguiente: Se descargan en un directorio via FTP, varias tablas con formato .dbf. Los nombres de dichas tablas son distintos en cada descarga. Necesito pasar el contenido de las tablas descargadas, a un sql server 2008 conservando el nombre de cada tabla. Todas tienen los mismos campos.
Primero genero la tabla en la db, usando una auxiliar que se encuentra en la db del sql server que tiene el mismo formato que las tablas a pasar:
y luego no se como copiar el contenido en esta nueva base creada. Probe creando un procedimiento almacenado y no funciona:
y el procedimiento en el server sql es :
Si alguien sabe como resolverlo se los agradeceria. |
¿Lo que no funciona es el procedimiento en si, o la llamada?
¿Si ejecutas el procedimiento manualmente funciona? |
Neftalí, gracias por responder. El error lo devuelve el SP, ya que la creación de la tabla y el llamado al SP junto con los parámetros funciona. Estuve investigando mas sobre el tema y vi que existe la función openrowset(), pero no se si es el camino, ya que las pruebas que hice en forma manual es:
y me tira el siguiente error: El proveedor OLE DB "Microsoft.Jet.OLEDB.4.0" del servidor vinculado "(null)" devolvió el mensaje "Argumento no válido.". Mens. 7303, Nivel 16, Estado 1, Línea 1 No se puede inicializar el objeto de origen de datos del proveedor OLE DB "Microsoft.Jet.OLEDB.4.0" para el servidor vinculado "(null)". Hasta ahora lo único que se me ocurre es usar dos adoconnection una que apunte al sql server y otra a una query que cargue una por una las bases que se descarguen y luego ver como pasar los datos de esa query al sql server, pero me parece un cuento chino. Por eso busco algo mas rápido y directo. |
Despues de mucho investigar encontre la solucion. La dejo por si alguien lo necesita. Es para Sql server 2008 en adelante
Primero hay que ejecutar en sql sp_configure 'show advanced options', 1 reconfigure go exec sp_configure 'Ad Hoc Distributed Queries',1 go reconfigure go Esto es para habilitar la opcion Ad Hoc la cual permite la comunicacion con entornos externos de sql Luego escribir para crear el procedimiento almacenado
y el llamado del procedimeinto desde Delphi es :
Espero que le sea util a alguien. Saludos |
La franja horaria es GMT +2. Ahora son las 06:10:11. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi