De uitdaging bij het gebruik van een configuratiebestandsbenadering is dat u het bestand voortdurend moet wijzigen. SSIS zou het configuratiebestand niet opnieuw laden nadat het is gestart, dus het is mogelijk dat je om 20:05 en 20:35 uur taken hebt die de configuratiebestanden verwisselen, maar dat gaat op een gegeven moment rommelig worden en kapot gaan.
Ik zou deze situatie afhandelen met opdrachtregelvariabelen (/set optie in dtexec ). Als u het pakket vanaf de opdrachtregel zou uitvoeren, zou het er ongeveer zo uitzien dtexec.exe /file MyPackage.dtsx
Zelfs als je SQL Agent gebruikt, bouwt het achter de schermen die opdrachtregelargumenten op.
Bij deze benadering wordt ervan uitgegaan dat u twee verschillende taken maakt (vs. 1 taken die 2x per dag worden gepland). AgentMyPackage2011 heeft een taakstap van SSIS die resulteert in
dtexec /file MyPackage.dtsx /Set \Package.Variables[User::Year].Properties[Value];\"2011\"
en AgentMyPackage2012 heeft een taakstap van SSIS die resulteert in
dtexec /file MyPackage.dtsx /Set \Package.Variables[User::Year].Properties[Value];\"2012\"
Via de GUI zou het er ongeveer zo uitzien:
Er is geen GUI of selector voor de eigenschap die u wilt configureren. Aangezien u echter al een .dtsConfig-bestand voor uw pakket hebt gemaakt, opent u dat bestand en zoekt u naar een sectie zoals
<Configuration ConfiguredType="Property" Path="\Package.Variables[User::Year].Properties[Value]" ValueType="Int32">
<ConfiguredValue>2009</ConfiguredValue>
Het bestand heeft al het pad naar het "ding" dat u probeert te configureren, dus sla dat op in uw aanroepende programma en schakel vervolgens het jaargedeelte van de pakketconfiguratie uit.
Ten slotte een link naar SSIS-configuratievoorrang omdat er verschillen zijn in het model van 2005 versus 2008. Ik zie dat je 2008 hebt aangegeven in je ticket, maar voor toekomstige lezers, als je zowel /SET als een configuratiebron (xml, sql-server, register, omgevingsvariabele) gebruikt, varieert de volgorde van bewerkingen tussen versies.