Sunday, February 19, 2012

Best way to promote DTS packages

To make the packages portable I have made connections as (local). Because once the packages go from say Development to Production, they would still work without re-designing them on a different box. The '(local)' as a the servername always looks for a the (local) server its on. But this seems too simple.

I have tired different methods such as using a INI file, Dynamic Protperties task etc., I have used global variables in the packages. Ultimately, I have used configuration tables to supply all the global variables, file names, etc.

Is there a flaw in this idea? Has anyone tired this before? If not how have you made DTS packages portable? Any ideas?

Thanks in advance.Your Idea sounds fine, but how does the package identify which record to pull to get the correct information. Do you query the server name, and use that in a where clause?

This is what I do, I put all my information in the registry of that machine. then have an active x script pull it out and assign it to global variables, then populate the properties of the tasks. How you populate the properties depends on the version of sql you are running.

hope this helps.|||Your Idea sounds fine, but how does the package identify which record to pull to get the correct information. Do you query the server name, and use that in a where clause?

This is what I do, I put all my information in the registry of that machine. then have an active x script pull it out and assign it to global variables, then populate the properties of the tasks. How you populate the properties depends on the version of sql you are running.

hope this helps.|||Originally posted by SHICKS
Your Idea sounds fine, but how does the package identify which record to pull to get the correct information. Do you query the server name, and use that in a where clause?

This is what I do, I put all my information in the registry of that machine. then have an active x script pull it out and assign it to global variables, then populate the properties of the tasks. How you populate the properties depends on the version of sql you are running.

hope this helps.

Yeah i run queries using the dynamic task properties to assign the global variables with the proper value from a conflict table. I have heard alot about putting the information in the registry of that machine. To do this wont you need to go on the computer you want to put the reg on? IF thats the case, it's hard for me to do that cuz the DEV,UAT,Production are spread all over the country.

But I would appreciate if I could find some more information about using registries.

Thanks is advance.|||Originally posted by vmlal
Yeah i run queries using the dynamic task properties to assign the global variables with the proper value from a conflict table. I have heard alot about putting the information in the registry of that machine. To do this wont you need to go on the computer you want to put the reg on? IF thats the case, it's hard for me to do that cuz the DEV,UAT,Production are spread all over the country.

But I would appreciate if I could find some more information about using registries.

Thanks is advance.

Updating the registry on remote machines is an administration issue I don't think I can anwser, but here is how I read the registy in an ActiveX script

Dim sh

Set sh = CreateObject("WScript.Shell")

path=sh.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\FileLocations\Path")
server=sh.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Server\Server")
database=sh.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Server\Database")
username=sh.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Login\Username")
password=sh.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Login\Password")

No comments:

Post a Comment