Problems with DTS package execution using COM

Hello Experts,

I have a DTS package on my SQL server.  The package reads a text file and imports it into an SQL database.  During the import one of the fields is assigned a value from my GlobalVariable (ActiveX script in DTS)  The package runs fine from Enterprise Manager, but when I try run it from ASP.NET  I get the following error:



Step Error Source: Microsoft Data Transformation Services (DTS) Data Pump
Step Error Description:The number of failing rows exceeds the maximum specified. (Microsoft Data Transformation Services (DTS) Data Pump (80020101): Error Code: 0
Error Source= Microsoft VBScript runtime error
Error Description: Invalid procedure call or argument: 'DTSDestination'

Error on Line 18
) (mscorlib (80004005): Missing parameter does not have a default value.
Parameter name: parameters)
Step Error code: 8004206A
Step Error Help File:sqldts80.hlp
Step Error Help Context ID:0

My code in ASP.NET is very simple, here it is.

 Dim dtsPack As New DTS.Package
        dtsPack.LoadFromSQLServer("int-vip-02", "warranty", "warranty", DTS.DTSSQLServerStorageFlags.DTSSQLStgFlag_Default, Nothing, Nothing, Nothing, "warranty_DCX_Claims_Import", Nothing)

        Dim fileClaims As DTS.Connection
        Dim fileVerbatims As DTS.Connection
        fileClaims = dtsPack.Connections.Item("Claims_File")
        fileVerbatims = dtsPack.Connections.Item("Verbatims_File")
        fileClaims.DataSource = "\\int-vip-02\warranty$\DCX\DCX_INTERIORS_Claims.txt"
        fileVerbatims.DataSource = "\\int-vip-02\warranty$\DCX\DCX_INTERIORS_Verbatims.txt"


        Dim varDivision As DTS.GlobalVariable
        Dim varFRCode As DTS.GlobalVariable
       varDivision = dtsPack.GlobalVariables.Item("Division")
       varFRCode = dtsPack.GlobalVariables.Item("DCX_FR_Code")
        varDivision.Value = "INTERIORS"
        varFRCode.Value = "X"

        dtsPack.Execute()

As you can tell, the DTS package reads the file names in no problem, when I comment out the GlobalVariable code everything works, but the GlobalVariables don't want to go further then the error message that I get.  The message shows up in the SQL log.

Thanks for any help to this.

tomasz_kAsked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
GhostModConnect With a Mentor Commented:
Closed, 500 points refunded.

GhostMod
Community Support Moderator
0
 
nmcdermaidCommented:
Well my first suggestion would be to do it differently - use a stored procedure, but that may not be an option for you.

Are there any other bits of ActiveX code that use the DTSDestination function or is that the only one?

are the IIS and SQL Server on the same box? If not does it run OK from the IIS box? Possibly it doesn't have a required library installed.


It certainly is  strange error and my other suggestion would be to make sure all SP's are up to date.

0
 
tomasz_kAuthor Commented:
The ActiveX function has about 6 destination columns, and they all are using DTSDestination.  5 of the columns get data from the import file, and they work fine, ony when I try to assign a GlobalVariable dynamically to my other DTSDestination the error occurs.  If I assign a GlobalVariable within ActiveX the DTS runs without any issues.  I'm thinking it's the way I call or assign the GlobalVariable in ASP.NET, but I'm not able to figure out what's wrong with it.
0
 
tomasz_kAuthor Commented:
I have just solved my own problem.  Instead of trying to change the current GlobalVariables in DTS.  I deleted them, and assigned new variables in ASP.NET like so:

        dtsPack.GlobalVariables.AddGlobalVariable("Division", "INTERIORS")
        dtsPack.GlobalVariables.AddGlobalVariable("DCX_FR_Code", "X")

So far it's working no problem, but thanks anyway.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.