2016-11-02 3 views
-1

verwendete ich bin mit SQL Server 2012 & MS Visual Studio 2010dtexec/SET-Paket Variablenwert von Paket nicht

Ich habe ein DTS-Paket mit einer Benutzervariablen, PO (string), und ich versuche, Um einen SQL-Befehl mit dieser Variable auszuführen, habe ich eine andere Variable zum Erstellen der SQL-Zeichenfolge eingerichtet.

Das Problem ist, dass, wenn ich versuche, das Paket mit dem Dienstprogramm DTEXEC mit /SET ausführen, ignoriert das Paket die Variable Wert, den ich sende.

Befehl Ich verwende:

dtexec /server myserver /sql MyPackageName /U user /P password /SET "\Package.Variables[User::PO].Properties[Value]";"AE-J067329-01" 

Der Ausdruck für SQLStringVar ist "exec my_procedure '" + @[User::PO] + "'"

jedoch die Ergebnisse zeigen SQLStringVar zu "exec my_procedure ''" Auswertung oder was auch immer Wert Ich habe für den Anfangswert für die User::PO Variable. Das Paket wird ohne Fehler ausgeführt.

+0

Bitte markieren Sie die Antwort durch die Annahme als gelöst, vielmehr den Titel ‚gelöst‘ als APPEN. Vielen Dank –

Antwort

0

Ich fand es heraus: In der Registerkarte Package Explorer ... Variablen.

Klicken Sie mit der rechten Maustaste auf die Variable, wechseln Sie zu Eigenschaften, und ändern Sie EvaluateAsExpression in False.

(Dies wurde mir verrückt da, wenn die Variable Bearbeiten der Registerkarte Variablen verwenden, diese Eigenschaft nicht verfügbar ist)

Verwandte Themen