Solved

How do I execute a DTS package (SQL server 2000) from a client PC using C#?

Posted on 2009-04-03
7
683 Views
Last Modified: 2013-11-30
Hi

I have to make a small application, which will execute a DTS Package on a specific SQL Server 2000 server.
I'm using Visual Studio 2008 Professional.
The DTS Package is kept in the SQL Server; not in a file.
If it is possible to enumerate all DTS packages found on the server, that would be nice too.
It would be ok, if I can use a stored procedure to execute it,

I've been looking all over the internet (well, more or less :-)), but I haven't been able to find a solution.

If I use DTSRun (on the server), for some reason, it returns only the column names, when the connection (inside a package) points to "." or "(local)".
0
Comment
Question by:Hynne
7 Comments
 

Author Comment

by:Hynne
ID: 24060866
Hmm... I have now solved it, using a stored procedure, but I would still like to know if it's possible from C# directly.
0
 
LVL 96

Expert Comment

by:Bob Learned
ID: 24065786
SMO is a good choice for a lot of SQL Server administrative tasks.  I have some code somewhere, that I might be able to find, which runs DTS packages from C#.
0
 

Author Comment

by:Hynne
ID: 24066440
Hi TheLearnedOne
I would love to see it, but don't spend hours finding it, since I believe I can make my stored proc work. (I still need to find a way to enumerate the packages (and version?).
Thanks

 - Hynne
0
Best Practices: Disaster Recovery Testing

Besides backup, any IT division should have a disaster recovery plan. You will find a few tips below relating to the development of such a plan and to what issues one should pay special attention in the course of backup planning.

 
LVL 75

Accepted Solution

by:
Anthony Perkins earned 500 total points
ID: 24068628
0
 
LVL 22

Expert Comment

by:8080_Diver
ID: 24069386
There is a tool that comes with DTS and SQL Server 2000 that lets you select a DTS package, add the parameters that you want to use when it executes (e.g. username and password), encrypt it.  All you have to do is save that encrypted command string to either a batch file or someplace handy so that you can use it to shell out and execute the command string.  Don't have the tools to walk through to give you detailed instructions at this moment, though.
0
 
LVL 75

Expert Comment

by:Anthony Perkins
ID: 24069527
It is called DTSRunUI and the encryption is optional and I would not recommend it.  However I would expect that the author would want to have something a tad more integrated than just shelling out to a command line tool.
0
 
LVL 30

Expert Comment

by:nmcdermaid
ID: 24073490
If you are using xp_cmdshell to run your DTS package, you should be aware that this can be a security risk if not implemented properly.
0

Featured Post

NAS Cloud Backup Strategies

This article explains backup scenarios when using network storage. We review the so-called “3-2-1 strategy” and summarize the methods you can use to send NAS data to the cloud

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Load balancing is the method of dividing the total amount of work performed by one computer between two or more computers. Its aim is to get more work done in the same amount of time, ensuring that all the users get served faster.
For both online and offline retail, the cross-channel business is the most recent pattern in the B2C trade space.
This video shows how to set up a shell script to accept a positional parameter when called, pass that to a SQL script, accept the output from the statement back and then manipulate it in the Shell.
Via a live example, show how to backup a database, simulate a failure backup the tail of the database transaction log and perform the restore.

947 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

18 Experts available now in Live!

Get 1:1 Help Now