Ver Mensaje Individual
  #1  
Antiguo 09-10-2015
aromigaret aromigaret is offline
Miembro
 
Registrado: jun 2011
Posts: 74
Reputación: 16
aromigaret Va por buen camino
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:

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.

Última edición por ecfisa fecha: 09-10-2015 a las 04:16:19. Razón: Ajustar código al ancho de visualización
Responder Con Cita