![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
|
OK, wrote a DTS package that has multiple ActiveX steps. In an early step I create and populate a dictionary object, create a new global variable on the fly and set its value to the dict, and then fetch the value from the global in later steps and use the values. It all worked fine until ... That is, it worked fine when the package was run directly under my login. When I set it to run as a job under our local sql.admin account, it failed. Huh? If I log into the system as sql.admin and run the package locally, still OK. Only when run as a job and under sql.admin does it fail (I have not tried running it as a job under another login, that isn't really an option). When I do a "set dict = DTSGlobalVariables("mydict").value", it gets *something*, if passes a "is nothing" test, but I get an error as soon as I try to reference so much as the count. Well, right now I'm busy rewriting the code around this glitch, but of course I'd rather understand it and fix it. Any help? It doesn't seem to be the problem in q298725, because a ton of other objects are still created and operate correctly. |
#3
| |||
| |||
|
|
I'm not absolutly sure what you do, and why the error happens but I have maybee a hint. AFAIK the dictionary object is not designed for multithreaded applications. Have you tried do define the "run on main package threat" option for all tasks using this object to avoid threading conflicts? |
![]() |
| Thread Tools | |
| Display Modes | |
| |