Solved

Solution to Execute DTS Packages and Connect to SQL Server with Vb.net

Posted on 2004-10-19
7
1,095 Views
Last Modified: 2009-05-27
I am trying to create a solution, that allows a user to select a file and have that file imported into sql server, i believe that i can do this with a .net and dts solution, creating my dts packages, and allowing the user to choose where the files are, ftp them from a server, and put them in a pre determined destination so that a dts package can execute the data pump, i need to assume that all the text files are the same every time we run the conversion, and i can run the dts with the same structure. i am new to .net, i have done something similar using vb6, but it's been a whlie, and .net is very new to me. so i need to know how to connect to a database, using ado.net ? i presume, and how to execute the dts pacages, and how to allow the user to select where the files are. i just need a kick in the right direction so that i can get started, i'm sure that i will tweak it once this get up and running. thanks
0
Comment
Question by:basile
  • 3
7 Comments
 
LVL 6

Accepted Solution

by:
etmendz earned 500 total points
ID: 12356218
In your VB.Net project, add a COM reference to the Microsoft DTSPackage Object Library 2.0 which is \Program Files\Microsoft SQL Server\80\Tools\Binn\dtspkg.dll. This action will create Interop.DTS.dll and should show in your Reference list as DTS.

I used the information in the following link to help me:

http://support.microsoft.com/default.aspx?scid=kb;en-us;321525

The sample code in this article simply calls an existing DTS package in an SQL Server.

If you want dynamic DTS from inside VB.Net, now that's a different story. I've done this before by creating a .Net application (it was my first practical attempt to learning VB.Net). If you want to do dynamic DTS, consider the following:

- Save your DTS package into a VB6 code.
- It is important that you understand the DTS VB6 code so you can easily covert it to VB.Net.
- Base your VB.Net code on the generated VB6 code.
- Expect your VB.Net code to more or less look like the original VB6 code.
- In your VB.Net code, add the code for the PackageEventSink as defined in the link I gave you.

The basic process flow is:

Initialize DTSPackage Events Sink
Initialize yourDTSPackageObject
Initialize yourDTSPackageObject Connections
Define yourDTSPackageObject Steps
Define yourDTSPackageObject Tasks
yourDTSPackageObject.Execute()
yourDTSPackageObject.UnInitialize()
UnInitialize DTS Package Events Sink

More or less, you should find the same pattern in the DTS VB6 code. :-)

Have fun.
0
 
LVL 6

Expert Comment

by:etmendz
ID: 12356409
For the other stuffs you need, those are basic I/O operations and you can simply search msdn.microsoft.com for ".Net System.IO" for more information. The classes that may also interest are the OpenFileDialog and the FileSystemWatcher classes. Read about them and about ADO.Net in your Visual Studio.Net documentation, MSDN Library or the MSDN Library online in msdn.microsoft.com.

Samples are available in www.gotdotnet.com where you can view samples organized per class/classes that may interest you.

There is no built-in FTP client in .Net so you might need to download one from the Internet or purchase one from any .Net library vendor you like.

If you've worked with VB6 forms and controls, learning VB.Net forms and controls is a breeze. If you've worked with VB6 .cls class files (which is almost OOP), the transition to VB.Net shouldn't be difficult. If you're familiar with the VB6 IDE, mastering the Visual Studio.Net IDE should be easy.

Have fun.
0
 
LVL 1

Author Comment

by:basile
ID: 12439336
here is a twist to this question. how can i create and run a dts package within vb ? are there any good examples for this out there ?
0
 
LVL 6

Expert Comment

by:etmendz
ID: 12441303
That is called dynamic DTS which I also tried to explain in my first post.

I think that there are not much samples. You can create a DTS package using the Enterprise Manager and then save the DTS package to VB6 (which is an existing feature of DTS in SQL Server 2000).

The VB6 code generated works and may be compiled and tested immediately.

You can use the VB6 code generated as basis if you want to rewrite it to VB.Net.

Have fun.
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

A while ago, I was working on a Windows Forms application and I needed a special label control with reflection (glass) effect to show some titles in a stylish way. I've always enjoyed working with graphics, but it's never too clever to re-invent …
Creating an analog clock UserControl seems fairly straight forward.  It is, after all, essentially just a circle with several lines in it!  Two common approaches for rendering an analog clock typically involve either manually calculating points with…
This Micro Tutorial demonstrates using Microsoft Excel pivot tables, how to reverse engineer competitors' marketing strategies through backlinks.
Sending a Secure fax is easy with eFax Corporate (http://www.enterprise.efax.com). First, just open a new email message. In the To field, type your recipient's fax number @efaxsend.com. You can even send a secure international fax — just include t…

867 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

12 Experts available now in Live!

Get 1:1 Help Now