Package using Recordset variable showing weird behavior
Hi, I am using a recordset variable in my package... say.. User::VarRecordset(Scope: Package) I am first filling the User::VarRecordset using a Recordset Destination. Then, I am using this Variable in a For Each Loop.. The package works fine in BIDS. Even on Making a File system Deployment, It works on My machine, and some others too. But on Some machines, the Execution Fails, showing an Error, Package Variable "User::VarRecordset" not Found in List of Variables.. The execution results do not show any error while putting data into "User::VarRecordset" . But FOR EACH Loop Fails with that Error.. Unable to find any reason, why it works well on some machines and Fails on Some. My Machine is a 32 bit one... Any clue or help to this requested...
April 11th, 2011 1:47am

Do you get this error on the RecordSet destination? or on the Forech loop ?http://www.rad.pasfu.com
Free Windows Admin Tool Kit Click here and download it now
April 11th, 2011 1:57am

Recordset Destination is successful.. I get it on For Each Loop.... that too on few machines. I tried deploying my package on some machines... It works well on Mine, and a few others. But fails on some others....
April 11th, 2011 2:02am

My Machine is a 32 bit one... and i am assuming that the other machine is 64 bit and you are working with excel ??????? right ???????Sincerely SH -- MVP, MCITP 2008, MCTS 2008 & 2005 -- Please kindly mark the post(s) that answered your question and/or vote for the post(s).
Free Windows Admin Tool Kit Click here and download it now
April 14th, 2011 2:52pm

Yes Nik, the Other Machine is 64 bit, and I am working with Excel.... Just for a Hit and Trial, I removed the recordset destination, and Placed another one in its place, and configured it again. And to my wonder, I am not getting that error again. Feels like, there can be some issue with the Lineage IDs, and the Metadata of the Recordset Component. Are there always issues with Excel on machines with different configurations like 32 and 64 bit?? What may be the possible causes for this?
April 25th, 2011 2:26am

read http://msdn.microsoft.com/en-us/library/ms141766.aspx specially the section about ....."<drive>:\Program Files(x86)\Microsoft SQL Server\100\DTS\Binn" story short you need to call your package by using a 32bit DTEXEC file , the jobs use the 64bit by default on a 64bit machine, you have to redirect that to a 32 bit a good example in the job is SET @JobCommand = '"C:\Program Files (x86)\Microsoft SQL Server\90\DTS\Binn\DTExec.exe" ' SET @JobCommand = @JobCommand + N' /FILE ' + @MainFolderPath + '\PackageAndConfigFile\PkgName.dtsx ' SET @JobCommand = @JobCommand + N' /CONFIGFILE ' + @MainFolderPath + '\PackageAndConfigFile\SSIS-XmlDestinationDBConfig-PkgName.dtsConfig ' you have to have the 32bit DTECEC installed good luck Sincerely SH -- MVP, MCITP 2008, MCTS 2008 & 2005 -- Please kindly mark the post(s) that answered your question and/or vote for the post(s).
Free Windows Admin Tool Kit Click here and download it now
April 25th, 2011 8:45am

Hi Nik, Sory for being so late.... You say that we need to Run the Package with 32 Bit DTEXEC.exe. Then what is the 64 Bit compatibility mode of SSIS Package used for? I tried running this thing with the 32 bit utility also, but couldtnt get anything out. Moreover, on removing the Old Recordset and Putting a New one, made my package to RUN ! with the Same Configuration, and DTExec.exe. And today, that Package has been working well since then.. I dont know, what happened, but Actually, after the Package was all made, I had to make small changes to it. Only After that, It started giving error. Specifically, on Some computers only. For Trial and Error, I just removed the Recordset Destination, and Put a new one. Then I configured the For Each also. And then Deployed it. And it started working on All the Machines! Including the 64 bit Server. Very Strange. Isnt it?? But I dont feel that running the Package with a 32 bit Dtexec can solve the problem.... Would be Happy to know your views over this...Ashu_Blueray
June 20th, 2011 6:16pm

Hi Nik, Sory for being so late.... You say that we need to Run the Package with 32 Bit DTEXEC.exe. Then what is the 64 Bit compatibility mode of SSIS Package used for? I tried running this thing with the 32 bit utility also, but couldtnt get anything out. Moreover, on removing the Old Recordset and Putting a New one, made my package to RUN ! with the Same Configuration, and DTExec.exe. And today, that Package has been working well since then.. I dont know, what happened, but Actually, after the Package was all made, I had to make small changes to it. Only After that, It started giving error. Specifically, on Some computers only. For Trial and Error, I just removed the Recordset Destination, and Put a new one. Then I configured the For Each also. And then Deployed it. And it started working on All the Machines! Including the 64 bit Server. Very Strange. Isnt it?? But I dont feel that running the Package with a 32 bit Dtexec can solve the problem.... Would be Happy to know your views over this...Ashu_Blueray
Free Windows Admin Tool Kit Click here and download it now
June 20th, 2011 6:16pm

1: Yes you still have to call the package with a dtExec 32 bit because you answered me that you are using a Excel and i am assuming that it's NOT excel 2010, so again yes you have to use DTEXEC 32bit check http://msdn.microsoft.com/en-us/library/ms141766.aspx and look for ....... " For example, the Microsoft OLE DB Provider for Jet, which connects to Access databases and Excel spreadsheets, is not available in a 64-bit version. Also, the SQL Server Compact Provider, which connects to SQL Server Compact data sources, is not available in a 64-bit version" Q: I tried running this thing with the 32 bit utility also, but couldtnt get anything out. How did you do it? it has got to work i have over 300 packages that are excel source based. all running with 32bit mode Q:Moreover, on removing the Old Recordset and Putting a New one, made my package to RUN ! What did you change???????? need details Q: ...... Only After that, It started giving error. Specifically, on Some computers only A: Your only answer is that they can be different versions 32bit vs 64bit OS system Q: For Trial and Error, I just removed the Recordset Destination, and Put a new one. Then I configured the For Each also. And then Deployed it. And it started working on All the Machines! Including the 64 bit Server.Very Strange. Isnt it?? A: yes it is but i need more details for an answer Q: But I dont feel that running the Package with a 32 bit Dtexec can solve the problem.... A: again i have to say because you mentioned that you are using Excel file, you answer is yes you have to use 32bit , unless you are using some 3rd party component that handels that please reply with answers, thanks Sincerely SH -- MVP, MCITP 2008, MCTS 2008 & 2005 -- Please kindly mark the post(s) that answered your question and/or vote for the post(s).
June 20th, 2011 6:25pm

1: Yes you still have to call the package with a dtExec 32 bit because you answered me that you are using a Excel and i am assuming that it's NOT excel 2010, so again yes you have to use DTEXEC 32bit check http://msdn.microsoft.com/en-us/library/ms141766.aspx and look for ....... " For example, the Microsoft OLE DB Provider for Jet, which connects to Access databases and Excel spreadsheets, is not available in a 64-bit version. Also, the SQL Server Compact Provider, which connects to SQL Server Compact data sources, is not available in a 64-bit version" Q: I tried running this thing with the 32 bit utility also, but couldtnt get anything out. How did you do it? it has got to work i have over 300 packages that are excel source based. all running with 32bit mode Q:Moreover, on removing the Old Recordset and Putting a New one, made my package to RUN ! What did you change???????? need details Q: ...... Only After that, It started giving error. Specifically, on Some computers only A: Your only answer is that they can be different versions 32bit vs 64bit OS system Q: For Trial and Error, I just removed the Recordset Destination, and Put a new one. Then I configured the For Each also. And then Deployed it. And it started working on All the Machines! Including the 64 bit Server.Very Strange. Isnt it?? A: yes it is but i need more details for an answer Q: But I dont feel that running the Package with a 32 bit Dtexec can solve the problem.... A: again i have to say because you mentioned that you are using Excel file, you answer is yes you have to use 32bit , unless you are using some 3rd party component that handels that please reply with answers, thanks Sincerely SH -- MVP, MCITP 2008, MCTS 2008 & 2005 -- Please kindly mark the post(s) that answered your question and/or vote for the post(s).
Free Windows Admin Tool Kit Click here and download it now
June 20th, 2011 6:25pm

I do not disagree with you, Nik.... You are right.. OLEDB Provider is not available for 64 bit systems. But, I think, maybe the system itself took the 32 bit Dtexec.exe for execution always .... because, there was no change to the Error even after selecting the 32-Bit DTExec. And even now, I run my packages without explicitly redirecting it to 32 bit dtexec. This made me say that 32 bit is not the issue. Referring to my initial post, after I made some changes to the Flow of my Package, I started getting "Recordset not found" error. Tried everything.. Even the msdn link that you have posted :-) . But couldnt get the solution. That is why I posted the Question here. Then, at the End, I made no change to the Package, except this : 1)deleting the recordset destination, 2)Making a new Recordset Dest. with the Same Variable again and 3) configuring the recordset as the earlier one. And then I deployed the package to the server.. and it started working.. I faced this issue 2 times, and I did the same, and it worked. So, just out of curiosity, I wanted to know... what was the reason behind this... deleting the component, and making a new one...Ashu_Blueray
June 20th, 2011 7:09pm

I do not disagree with you, Nik.... You are right.. OLEDB Provider is not available for 64 bit systems. But, I think, maybe the system itself took the 32 bit Dtexec.exe for execution always .... because, there was no change to the Error even after selecting the 32-Bit DTExec. And even now, I run my packages without explicitly redirecting it to 32 bit dtexec. This made me say that 32 bit is not the issue. Referring to my initial post, after I made some changes to the Flow of my Package, I started getting "Recordset not found" error. Tried everything.. Even the msdn link that you have posted :-) . But couldnt get the solution. That is why I posted the Question here. Then, at the End, I made no change to the Package, except this : 1)deleting the recordset destination, 2)Making a new Recordset Dest. with the Same Variable again and 3) configuring the recordset as the earlier one. And then I deployed the package to the server.. and it started working.. I faced this issue 2 times, and I did the same, and it worked. So, just out of curiosity, I wanted to know... what was the reason behind this... deleting the component, and making a new one...Ashu_Blueray
Free Windows Admin Tool Kit Click here and download it now
June 20th, 2011 7:09pm

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics