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:
Código Delphi
[-] PASAJE.SQL.Text:='SELECT TOP 0 * INTO ' + ARCHIVO + ' FROM AUXILIAR';
PASAJE.ExecSQL;
y luego no se como copiar el contenido en esta nueva base creada.
Probe creando un procedimiento almacenado y no funciona:
Código Delphi
[-] PROCEDIMIENTO.ProcedureName:='VOLCAR';
PROCEDIMIENTO.Parameters.Refresh;
PROCEDIMIENTO.Parameters.ParamByName('@ARCHIVO').Value:= QUOTEDSTR('C:\Pedidos\' + ARCHIVO);
PROCEDIMIENTO.Parameters.ParamByName('@PEDIDO').Value:= COPY(ARCHIVO,1,20) ;
PROCEDIMIENTO.ExecProc;
y el procedimiento en el server sql es :
Código SQL
[-]
ALTER PROCEDURE VOLCAR
-- Add the parameters for the stored procedure here
@ARCHIVO NVARCHAR(200),
@PEDIDO NVARCHAR(20)
AS
BEGIN
DECLARE @comando NVARCHAR(400)
SET @comando = 'BULK INSERT DBO.' + @PEDIDO + ' FROM ' + @ARCHIVO +
' WITH (FIELDTERMINATOR = ''|'',ROWTERMINATOR = ''|\n'')'
EXEC SP_EXECUTESQL @COMANDO
Si alguien sabe como resolverlo se los agradeceria.