ejecutar procedure en el server
Publicado por elvvilliage (1 intervención) el 20/11/2007 16:31:04
como podria hacer que se ejecute un store procedure en el server, que cargue 100 millones de records de un archivo de texto, ya tengo el procedure, pero no se ejecutarlo desde delphi sin que se cuelgue la aplicacion, o recivir timeout.?
1sp
ALTER PROCEDURE dbo.BULKINSERT
(
@_fileName NVARCHAR(500),
@_formatFile NVARCHAR(500),
@Result INT OUTPUT
)
AS
BEGIN
DECLARE @SQLString NVARCHAR(4000)
DECLARE @ParmDef_1 NVARCHAR(500)
DECLARE @ParmDef_2 NVARCHAR(500)
SET @_FILENAME = QUOTENAME(@_FILENAME,'''')
SET @_FORMATFILE = QUOTENAME(@_FORMATFILE,'''')
SET @SQLString = 'BULK INSERT dbo.mitabla' + CHAR(13)
SET @SQLString = @SQLString + 'FROM @KfileName' + CHAR(13)
SET @SQLString = @SQLString + 'WITH (FORMATFILE = @KformatFile' + ', KEEPNULLS)'
SET @SQLString = REPLACE(@SQLString, '@KfileName', @_filename)
SET @SQLString = REPLACE(@SQLString, '@KformatFile', @_Formatfile)
--select @SQLString
EXEC SP_EXECUTESQL @SQLSTRING
UPDATE dbo.mitabla
SET [FileName] = @_FILENAME
WHERE [FileName] is null
SET @Result = @@RowCount
END
Gracias
1sp
ALTER PROCEDURE dbo.BULKINSERT
(
@_fileName NVARCHAR(500),
@_formatFile NVARCHAR(500),
@Result INT OUTPUT
)
AS
BEGIN
DECLARE @SQLString NVARCHAR(4000)
DECLARE @ParmDef_1 NVARCHAR(500)
DECLARE @ParmDef_2 NVARCHAR(500)
SET @_FILENAME = QUOTENAME(@_FILENAME,'''')
SET @_FORMATFILE = QUOTENAME(@_FORMATFILE,'''')
SET @SQLString = 'BULK INSERT dbo.mitabla' + CHAR(13)
SET @SQLString = @SQLString + 'FROM @KfileName' + CHAR(13)
SET @SQLString = @SQLString + 'WITH (FORMATFILE = @KformatFile' + ', KEEPNULLS)'
SET @SQLString = REPLACE(@SQLString, '@KfileName', @_filename)
SET @SQLString = REPLACE(@SQLString, '@KformatFile', @_Formatfile)
--select @SQLString
EXEC SP_EXECUTESQL @SQLSTRING
UPDATE dbo.mitabla
SET [FileName] = @_FILENAME
WHERE [FileName] is null
SET @Result = @@RowCount
END
Gracias
Valora esta pregunta


0