Home All Groups Group Topic Archive Search About
Author
9 Dec 2005 9:31 AM
Tom Klapettek
Hallo zusammen,

habe eine Frage zu Parameterübergabe an eine StoredProcedure.
Habe nachfolgendes gefunden, welches auch sehr gut funzt.

CREATE PROCEDURE SP_FlatFileEinlesen
@Tabellenname     varchar(20),
@Filename        varchar(20)
@Zeile            varchar(20)
AS
SET nocount on
SET language german
DECLARE @strSQL varchar(1000)
select  @strSql  = replace( 'DELETE FROM %1','%1',@Tabellenname)
exec (@Sql)
GO

Nun möchte ich dasselbe mit dem BULK INSERT Befehl machen

BULK INSERT tbl_assekuranz
   FROM 'd:\applications\finance\tbl_assekuranz.txt'
   WITH
      (
    FIRSTROW = 2,
         FIELDTERMINATOR = ';',
         ROWTERMINATOR = ';\n'
      )

Der Anfang wäre m.E. so:
CREATE PROCEDURE SP_FlatFileEinlesen
@Tabellenname     varchar(20),
@Filename    varchar(20)
@ErsteZeile    varchar(20)
AS
SET nocount on
SET language german

DECLARE @strSQL varchar(1000)

select  @strSql  = replace(replace(replace( 'BULK INSERT %1 FROM %2
WITH (FIRSTROW = %3)','%1',@Tabellenname),'%2',@Filename),'%3',
@ErsteZeile)
exec (@Sql)

.... aber wie geht es weiter mit der WITH-Klausel und wie geht das mit
den Werten im Hochkomma ?? Gerade da auch @Filename ja
'D:\Daten\xxxx.txt' ist und wie geht es weiter mit FIELDTERMINATOR =
';', ROWTERMINATOR = ';\n'. Kann mir jemand helfen ???

Gruß

Tom

AddThis Social Bookmark Button