I tired to run a DTS package as a job and the job failed right away with the following message in the history of the job.
I'm running the DTS package using the dtsrun cmd in the job.
The error message:
DTSRun: Loading... Error: -2147221005 (800401F3); Provider Error: 0 (0) Error string: Invalid class string Error source: Microsoft Data Transformation Services (DTS) Package Help file: sqldts.hlp Help context: 713. Process Exit Code 1. The step failed.
W the f_is worng with it.... sorry this is urgentThat means that some object in your dts package has not been registered or is corrupt - Did this package run successfully from the dts designer ?|||Well I have activex scripts, dynamic propeties task, sql tasks in the package. I ran perfect on the development server as a job but on the uat server it gives that error. what r they ways around this?|||Did you copy the package from the development server to this one ? Also, did you try running the package from the dts designer on this server ?|||Originally posted by rnealejr
Did you copy the package from the development server to this one ? Also, did you try running the package from the dts designer on this server ?
Yes i coped the package from dev to uat. no i didnt becuase the pakage is built to be protable ie the connection data sources use (local) so they dont haveto be changed once they r promoted to different enivornments.... so if the package is run from the designer it wont use the uat server but my local server... but if its run as a job it runs on the uat server...|||I would test the package and run it on the actual sql server uat through the dts designer. This will eliminate any issues between the differences in how sql server executes a job versus a dts package.|||Originally posted by rnealejr
I would test the package and run it on the actual sql server uat through the dts designer. This will eliminate any issues between the differences in how sql server executes a job versus a dts package.
I ran the package on the actual server through dts designer and it works fine. but running it as a job still gives me the invalid class string error.
Plz advise.|||Is the owner of the job a sa within sql server ? If it is, what is the login/permissions of the account that is used for the agent service ?|||job owner is sa
login/permissions are administrative rights (all access)
generally what can generate this error?|||This might be related to permissions in the registry. What login is used to run the sql server agent service ? And what permissions does it have on this server ?|||The sql server agent uses system login. I'm guessing the system login has all the rights etc
fyi : it's running SQL7.0, Mdac version 2.5.4403.12
Microsoft SQL Server 7.00 - 7.00.1077 (Intel X86) Sep 6 2002 15:10:15 Copyright (c) 1988-2002 Microsoft Corporation Standard Edition on Windows NT 4.0 (Build 1381: Service Pack 6)|||You created the package using SQL 2000 Enterprise manager which has objects like dynamic properties task, that do not exist on SQL 7. You will be able to execute it through enterprise manager on your PC, but not as a job on the SQL 7 Server.|||Thank you!... never realized that
ne alternatives to dynamic task properties in sql7 ?|||Yes, use Active X scripts to assign properties to objects. Like this: Well you'll have to format it better, the small text box messed it up.
Option Explicit
Function Main()
Dim oPKG
Dim oCustomTask
Set oPKG = DTSGlobalVariables.Parent
oPKG.Tasks("DTSTask_DTSDataPumpTask_1").CustomTask.Properties.Item("DestinationObjectName").Value = DTSGlobalVariables("fundingTableName").Value
oPKG.Tasks("DTSTask_DTSDataPumpTask_2").CustomTask.Properties.Item("SourceObjectName").Value = DTSGlobalVariables("tableName").Value
oPKG.Tasks("DTSTask_DTSDataPumpTask_2").CustomTask.Properties.Item("DestinationObjectName").Value = DTSGlobalVariables("exportPath").Value
oPKG.Tasks("DTSTask_DTSDataPumpTask_3").CustomTask.Properties.Item("DestinationObjectName").Value = DTSGlobalVariables("tableName").Value
Set oPKG = Nothing
Main = DTSTaskExecResult_Success
End Function|||Nice catch shicks.|||No Problem, Anytime.|||Say i have to set the data source of a connection using active x... how would i do that?
for eg: the data source of the connection should equal to a global variable.|||This should do it
Function Main()
Dim oPKG
Dim oConnection
Set oPKG = DTSGlobalVariables.Parent
For Each oConnection in oPKG.Connections
If oConnection.ProviderID = "SQLOLEDB" Then
oConnection.DataSource =DTSGlobalVariables("server").Value
oConnection.Catalog = DTSGlobalVariables("database").Value
oConnection.UserID = DTSGlobalVariables("username").Value
oConnection.Password = DTSGlobalVariables("password").Value
End If
Next
Set oConnection = Nothing
Set oPKG = Nothing
Main = DTSTaskExecResult_Success
End Function|||Life saver!
thx
ne good resources where i could learn more about ActiveX scripts?
thx again|||I think it's VB script, then I just open the dynamic properties task and pick and object and get the property names. I am sure there must be a more efficient way to view the DTS classes, but it works for me. Maybe look for a DTS programming book. I don't know of any off the top of my head, but I am sure they are out there.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment