Das Problem bei der Verwendung einer Konfigurationsdatei ist, dass Sie die Datei ständig ändern müssen. SSIS würde die Konfigurationsdatei nach dem Start nicht neu laden, so dass es denkbar wäre, 8:05 und 8:35 PM Aufträge zu haben, die die Konfigurationsdateien austauschen, aber das würde irgendwann unübersichtlich werden und kaputt gehen.
Ich würde diese Situation mit Kommandozeilenvariablen behandeln ( Option /set in dtexec ). Wenn Sie das Paket von der Kommandozeile aus starten würden, sähe es etwa so aus dtexec.exe /file MyPackage.dtsx
Auch wenn Sie den SQL Agent verwenden, erstellt er im Hintergrund diese Befehlszeilenargumente.
Bei diesem Ansatz wird davon ausgegangen, dass Sie zwei verschiedene Aufträge erstellen (im Gegensatz zu 1 Auftrag, der 2x täglich geplant wird). AgentMyPackage2011 hat einen Job-Step von SSIS, der Folgendes ergibt
dtexec /file MyPackage.dtsx /Set \Package.Variables[User::Year].Properties[Value];\"2011\"
und AgentMyPackage2012 hat einen Job-Step von SSIS, der zu folgenden Ergebnissen führt
dtexec /file MyPackage.dtsx /Set \Package.Variables[User::Year].Properties[Value];\"2012\"
Über die grafische Benutzeroberfläche würde es etwa so aussehen
Es gibt keine grafische Benutzeroberfläche oder einen Selektor für die Eigenschaft, die Sie konfigurieren möchten. Da Sie jedoch bereits eine .dtsConfig-Datei für Ihr Paket erstellt haben, öffnen Sie diese Datei und suchen Sie nach einem Abschnitt wie
<Configuration ConfiguredType="Property" Path="\Package.Variables[User::Year].Properties[Value]" ValueType="Int32">
<ConfiguredValue>2009</ConfiguredValue>
Die Datei enthält bereits den Pfad zu dem "Ding", das Sie konfigurieren möchten. Geben Sie diesen Pfad in Ihr aufrufendes Programm ein und deaktivieren Sie dann den Jahresabschnitt der Paketkonfiguration.
Schließlich ein Link zu SSIS-Konfiguration Vorrangig da es Unterschiede zwischen dem Modell 2005 und 2008 gibt. Wie ich sehe, haben Sie in Ihrem Ticket 2008 angegeben, aber für zukünftige Leser: Wenn Sie sowohl /SET als auch eine Konfigurationsquelle (xml, Sql-Server, Registrierung, Umgebungsvariable) verwenden, variiert die Reihenfolge der Operationen zwischen den Versionen.