Probleme mit TRIGGER auf SSIS Paket SQL Server2005

16/11/2007 - 17:34 von Horst Köstler | Report spam
Hallo
Ich habe ein SSIS Paket erstellt, das mir eine bestimmte Verzeichnisstruktur
erstellen soll.
Über einen Trigger (INSERT) wird dieser Job gestartet (Variablen Übergabe
mit /SET) und das Verzeichnis erstellt. Alles soweit gut.
Nur ist es so, wenn ich ein Leerzeichen in dem Feld (Ordnernamen) habe, wird
der Ordner nicht erstellt. Wo habe ich da einen Fehler oder ist das ein BUG.

Auszug aus dem TRIGGER:

declare @Ordner nvarchar(500);
declare @CMD nvarchar(500);

set @Ordner = 'TestOrdner' -- Geht!

set @CMD = 'dtexec /dts ' + '"' + '\File System\UpdatePackage' + '"' + '
/SET \package\Skripttask.Variables[Foldername].Value;' + @Ordner
exec xp_cmdshell @CMD


Danke schon mal für einen Hinweis

Horst
 

Lesen sie die antworten

#1 Willfried Faerber
17/11/2007 - 08:35 | Warnen spam
Hallo Horst,

mit Deinem Ansatz in einem Trigger mit xp_cmd_shell ein externes Programm
aufzurufen brichst Du mit diversen Tabus.
Aber ich denke, Du hast es Dir genau überlegt, warum Du die Aufgabe genau so
löst.

Hier ist die Antwort auf Deine Frage:

set @CMD = 'dtexec /dts ' + '"' + '\File System\UpdatePackage' + '"' + '
/SET "\package\Skripttask.Variables[Foldername].Value;' + @Ordner + '"'
exec xp_cmdshell @CMD

Du mußt den Ausdruck: "\package\Skripttask.Variables[Foldername].Value;' +
@Ordner" mit doppelte Anführungsstriche einschließen.

Willfried Fàrber
MVP SQL Server
www.sqlis.de
www.sqlpass.de


"Horst Köstler" schrieb im Newsbeitrag
news:
Hallo
Ich habe ein SSIS Paket erstellt, das mir eine bestimmte
Verzeichnisstruktur erstellen soll.
Über einen Trigger (INSERT) wird dieser Job gestartet (Variablen Übergabe
mit /SET) und das Verzeichnis erstellt. Alles soweit gut.
Nur ist es so, wenn ich ein Leerzeichen in dem Feld (Ordnernamen) habe,
wird der Ordner nicht erstellt. Wo habe ich da einen Fehler oder ist das
ein BUG.

Auszug aus dem TRIGGER:

declare @Ordner nvarchar(500);
declare @CMD nvarchar(500);

set @Ordner = 'TestOrdner' -- Geht!

set @CMD = 'dtexec /dts ' + '"' + '\File System\UpdatePackage' + '"' + '
/SET \package\Skripttask.Variables[Foldername].Value;' + @Ordner
exec xp_cmdshell @CMD


Danke schon mal für einen Hinweis

Horst


Ähnliche fragen