sql server - SSIS DelayValidation randomly not working (Flatfile Connection Manager with Expression) -
have ever had weird behavior in ssis 2008, delayvalidation on flatfile connection manager randomly not working?
here scenario struggeling on ssis 2008 (non r2):
my package covers import of 30 different *.csv flat files database
csv files delivered each day dynamically created folder (d:\datadelivery\deliveryid_<generateddeliveryid>)
(e.g. "d:\datadelivery\deliveryid_73\", "d:\datadelivery\deliveryid_74\", ..)
==> here csv files imported via ssisthe delivery id current import determined stored proc @ beginning of ssis package (stored ssis variable "ideliveryid")
based on determined delivery id build complete import path using variable called "simportpath" expression (evaluateasexpression=true):
"d:\datadelivery\deliveryid_"+ (dt_wstr, 1252)@[user::ideliveryid] +"\"
..
the generated import path used in expression connection property of each flatfile connection manager, e.g.:
- @[user::simportpath] + "filea.csv"
(expression connection property in connection manager a) - @[user::simportpath] + "fileb.csv"
(expression connection property in connection manager b) - @[user::simportpath] + "filec.csv"
(expression connection property in connection manager c)
- @[user::simportpath] + "filea.csv"
the delayvalidation property of each connection manager set true!!!
so delivery id 73 connection properties of flatfile connection managers
should @ runtime resolve to:
d:\datadelivery\deliveryid_73\filea.csv
d:\datadelivery\deliveryid_73\fileb.csv
d:\datadelivery\deliveryid_73\filec.csv
but happens right in reality:
- when running in visual studio runs fine intended
- when running in production via sql server agent, following happens:
- sometimes package runs fine (all files imported)
- sometimes filea imported correctly while in same process fileb stops message "cannot open datafile d:\datadelivery\deliveryid_0\fileb.csv"
(error in pre-execute phase)
=> see delivery id 0 here => expression not resolving - sometimes fileb or filec imported correctly while in same process filea stops message "cannot open datafile d:\datadelivery\deliveryid_0\filea.csv"
(error in pre-execute phase) => see same error
==> in cases generated path (variable simportpath) resolves correctly (i logging this)
==> seems delayvalidation randomly working of connection managers while not working others ==> tried set delayvalidation=true whole package single tasks , containers ..still same behaviour have ever experienced such behaviour? if yes, how did deal this?
thanks lot suggestions.
jens
Comments
Post a Comment