Solved

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

Posted on 2009-04-03
7
687 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
What is SQL Server and how does it work?

The purpose of this paper is to provide you background on SQL Server. It’s your self-study guide for learning fundamentals. It includes both the history of SQL and its technical basics. Concepts and definitions will form the solid foundation of your future DBA expertise.

 
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

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

Question has a verified solution.

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

The article shows the basic steps of integrating an HTML theme template into an ASP.NET MVC project
A company’s centralized system that manages user data, security, and distributed resources is often a focus of criminal attention. Active Directory (AD) is no exception. In truth, it’s even more likely to be targeted due to the number of companies …
Via a live example, show how to extract information from SQL Server on Database, Connection and Server properties
Using examples as well as descriptions, and references to Books Online, show the different Recovery Models available in SQL Server and explain, as well as show how full, differential and transaction log backups are performed

733 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