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 ssis

  • the 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)
  • 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

Popular posts from this blog

c++ - End of file on pipe magic during open -

basic authentication with http post params android -

data.table making a copy of table in R -