Showing posts with label dts. Show all posts
Showing posts with label dts. Show all posts

Thursday, March 22, 2012

Can't Set variable Through Command Line

Hello everyone!

Bit of a problem executing a DTS command from a command line.

I have the following variables defined in my package:

UserVarchar1
UserVarchar2
UserVarchar3

All have a scope of Package, all of the mstrings

The command I'm attempting to run in 1 line is:

DTEXEC /FILE "C:\SSIS Packages\ED-Customers\Package.dtsx"
/SET \Package.Variables[User::UserVarchar1].value;"10"
/SET \Package.Variables[User::UserVarchar2].value;"30719"
/SET \Package.Variables[User::UserVarchar3].value;"BILLTO"

Description: The package path referenced an object that cannot be found: "\Package.Variables[User::UserVarchar1].value". This occurs when an attempt is made to resolve a package path to an object that cannot be found.

DTExec: Could not set \Package.Variables[User::UserVarchar1].value value to 10.

Any idea why?

Thanks for the help!What happens if you try:

\Package.Variables[User::UserVarchar1].Properties[Value];10|||For some reference:
http://blogs.conchango.com/jamiethomson/archive/2007/03/13/SSIS_3A00_-Property-Paths-syntax.aspx|||

How are you validating the path?

Check the path and remember the variables names are case sensitives.

|||

The syntax is wrong.

Check Phil's posts above.

-Jamie

|||I tried that.. Still says it can't assign it the value of 10.

It's case-accurate, in both path and variable names.

Description: The package path referenced an object that cannot be found: "\Package.Variables[User::UserVarchar1].value". This occurs when an attempt is made to resolve a package path to an object that cannot be found.

DTExec: Could not set \Package.Variables[User::UserVarchar1].value value to 10.

Is there something I'm missing in the design of the package, perhaps? All I did was add the variables to the package. Another variable uses these values and evaluates it as an expression. Doesn't seem too complex, yet I'm still miffed about why this won't execute.

Incidently, if I run the package WITHOUT variables, it will in fact run successfully.|||Adam, make sure the scope of that variable is at the package level, not some other component.|||By any chance is the ReadOnly property of the variable set to True? I get the same error if the value is true; if you want ot assign values at run time it should be set to false|||Thanks for the input, everyone! I finally figured it out.

The first reply was correct. I didn't notice .Properties[Value] in the first reply. Don't know how I missed it.

Sorry, it's been one fo those mornings..

Thanks again, everyone!

Sunday, March 11, 2012

Can't run dts package job

I setup a job which call a dts package (I try to call it from file system and from SSIS Package Store with the same result) and it doesn't run.

If you take a look from the SQL Server Agent you could see this >>
2012-06-17 09:01:02 - ! [LOG] Step 1 of job 'prueba' (0x85B4D5E843DB3145A6A1A6A0A43D04F3) cannot be run because the DTS subsystem failed to load. The job has been suspended
Any ideas?This was happening to people that installed to a drive other than C:. Did you install to a different drive? It's a bug in setup. If so, you can fix it by changing the dbo.syssubsystems table in MSDB for the dts subsystem.

Look to see where it's pointing. It should be something like this:
C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\binn\SQLDTSSS90.DLL

If the drive is different then the one you installed on, correct it. It should work then.

Please let me know if this worked.
Thanks,|||I saw what you said. I installed SQL in D drive in a directory called SQL_Server. The path you told me was right but the path in the agent_exe field was wrong.

Thanks for your help.|||Excellent! Glad to help out.|||

This was a dts in SQL 2005, right? If so, how did you get to the dbo.syssubsystems table? I know its in the MSDB but I can't get access to that table, even as an admin of the box. Any ideas?

|||

Hi,

I have a similar situation. We have program files on C:\ and Data files on D:\. I ran the following sql to update the syssubsystems table, but I still get the " 2007-01-22 12:13:37 - ! [LOG] Step 1 of job 'MaintenancePlan 1' (0xC433119AFB756E4E844D94759A65B68A) cannot be run because the SSIS subsystem failed to load. The job has been suspended" message.

INSERT INTO [msdb].[dbo].[syssubsystems]

([subsystem_id]

,[subsystem]

,[description_id]

,[subsystem_dll]

,[agent_exe]

,[start_entry_point]

,[event_entry_point]

,[stop_entry_point]

,[max_worker_threads])

VALUES

(11

,'SSIS'

,14538

,'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\binn\SQLDTSSS90.DLL'

,'C:\Program Files\Microsoft SQL Server\90\DTS\Connections\Binn\DTExec.exe'

,'DtsStart'

,'DtsEvent'

,'DtsStop'

,200);

Do I need to restart the Intergration services service?

Paul

|||

janislkovach wrote:

This was a dts in SQL 2005, right? If so, how did you get to the dbo.syssubsystems table? I know its in the MSDB but I can't get access to that table, even as an admin of the box. Any ideas?

Did you log in as a SQL Server admin?|||

Yes I can login to the box with Domain admin, then onto the Database engine with the SA id and password. I run the sqlagent job as a 'SQL Server Intergration Services package' and it fails with the 'failed to load susbsystem message'. If I run it as an 'Operating system(CmdExec)' i.e dtexec / SQL "[package name]" etc, then it works.

I can obviously get round the problem this way, but it's frustrating it doesn't work as it should. I think it started to happen after SP1 was installed.

Is it something to do with what account Integration Services runs under? As all the other SQL server service run as domain admin, my intergration Services service runs as NT authority\network service. Should I run this as domain admin also?

One further thing, when comparing other boxes with my problem box, is that I have DTEXEC.exe & DTAttach(and associated Dll's) in C:\Program Files\Microsoft SQL Server\90\DTS\Connections\Binn on the problem box whereas they are in C:\Program Files\Microsoft SQL Server\90\DTS\Binn in all other ones. Is this my problem? Can I simply move them to C:\Program Files\Microsoft SQL Server\90\DTS\Binn?

Can't run dts package job

I setup a job which call a dts package (I try to call it from file system and from SSIS Package Store with the same result) and it doesn't run.

If you take a look from the SQL Server Agent you could see this >>
2012-06-17 09:01:02 - ! [LOG] Step 1 of job 'prueba' (0x85B4D5E843DB3145A6A1A6A0A43D04F3) cannot be run because the DTS subsystem failed to load. The job has been suspended
Any ideas?This was happening to people that installed to a drive other than C:. Did you install to a different drive? It's a bug in setup. If so, you can fix it by changing the dbo.syssubsystems table in MSDB for the dts subsystem.

Look to see where it's pointing. It should be something like this:
C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\binn\SQLDTSSS90.DLL

If the drive is different then the one you installed on, correct it. It should work then.

Please let me know if this worked.
Thanks,|||I saw what you said. I installed SQL in D drive in a directory called SQL_Server. The path you told me was right but the path in the agent_exe field was wrong.

Thanks for your help.|||Excellent! Glad to help out.|||

This was a dts in SQL 2005, right? If so, how did you get to the dbo.syssubsystems table? I know its in the MSDB but I can't get access to that table, even as an admin of the box. Any ideas?

|||

Hi,

I have a similar situation. We have program files on C:\ and Data files on D:\. I ran the following sql to update the syssubsystems table, but I still get the " 2007-01-22 12:13:37 - ! [LOG] Step 1 of job 'MaintenancePlan 1' (0xC433119AFB756E4E844D94759A65B68A) cannot be run because the SSIS subsystem failed to load. The job has been suspended" message.

INSERT INTO [msdb].[dbo].[syssubsystems]

([subsystem_id]

,[subsystem]

,[description_id]

,[subsystem_dll]

,[agent_exe]

,[start_entry_point]

,[event_entry_point]

,[stop_entry_point]

,[max_worker_threads])

VALUES

(11

,'SSIS'

,14538

,'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\binn\SQLDTSSS90.DLL'

,'C:\Program Files\Microsoft SQL Server\90\DTS\Connections\Binn\DTExec.exe'

,'DtsStart'

,'DtsEvent'

,'DtsStop'

,200);

Do I need to restart the Intergration services service?

Paul

|||

janislkovach wrote:

This was a dts in SQL 2005, right? If so, how did you get to the dbo.syssubsystems table? I know its in the MSDB but I can't get access to that table, even as an admin of the box. Any ideas?

Did you log in as a SQL Server admin?|||

Yes I can login to the box with Domain admin, then onto the Database engine with the SA id and password. I run the sqlagent job as a 'SQL Server Intergration Services package' and it fails with the 'failed to load susbsystem message'. If I run it as an 'Operating system(CmdExec)' i.e dtexec / SQL "[package name]" etc, then it works.

I can obviously get round the problem this way, but it's frustrating it doesn't work as it should. I think it started to happen after SP1 was installed.

Is it something to do with what account Integration Services runs under? As all the other SQL server service run as domain admin, my intergration Services service runs as NT authority\network service. Should I run this as domain admin also?

One further thing, when comparing other boxes with my problem box, is that I have DTEXEC.exe & DTAttach(and associated Dll's) in C:\Program Files\Microsoft SQL Server\90\DTS\Connections\Binn on the problem box whereas they are in C:\Program Files\Microsoft SQL Server\90\DTS\Binn in all other ones. Is this my problem? Can I simply move them to C:\Program Files\Microsoft SQL Server\90\DTS\Binn?

Can't run dts package job

I setup a job which call a dts package (I try to call it from file system and from SSIS Package Store with the same result) and it doesn't run.

If you take a look from the SQL Server Agent you could see this >>
2012-06-17 09:01:02 - ! [LOG] Step 1 of job 'prueba' (0x85B4D5E843DB3145A6A1A6A0A43D04F3) cannot be run because the DTS subsystem failed to load. The job has been suspended
Any ideas?This was happening to people that installed to a drive other than C:. Did you install to a different drive? It's a bug in setup. If so, you can fix it by changing the dbo.syssubsystems table in MSDB for the dts subsystem.

Look to see where it's pointing. It should be something like this:
C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\binn\SQLDTSSS90.DLL

If the drive is different then the one you installed on, correct it. It should work then.

Please let me know if this worked.
Thanks,|||I saw what you said. I installed SQL in D drive in a directory called SQL_Server. The path you told me was right but the path in the agent_exe field was wrong.

Thanks for your help.|||Excellent! Glad to help out.|||

This was a dts in SQL 2005, right? If so, how did you get to the dbo.syssubsystems table? I know its in the MSDB but I can't get access to that table, even as an admin of the box. Any ideas?

|||

Hi,

I have a similar situation. We have program files on C:\ and Data files on D:\. I ran the following sql to update the syssubsystems table, but I still get the " 2007-01-22 12:13:37 - ! [LOG] Step 1 of job 'MaintenancePlan 1' (0xC433119AFB756E4E844D94759A65B68A) cannot be run because the SSIS subsystem failed to load. The job has been suspended" message.

INSERT INTO [msdb].[dbo].[syssubsystems]

([subsystem_id]

,[subsystem]

,[description_id]

,[subsystem_dll]

,[agent_exe]

,[start_entry_point]

,[event_entry_point]

,[stop_entry_point]

,[max_worker_threads])

VALUES

(11

,'SSIS'

,14538

,'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\binn\SQLDTSSS90.DLL'

,'C:\Program Files\Microsoft SQL Server\90\DTS\Connections\Binn\DTExec.exe'

,'DtsStart'

,'DtsEvent'

,'DtsStop'

,200);

Do I need to restart the Intergration services service?

Paul

|||

janislkovach wrote:

This was a dts in SQL 2005, right? If so, how did you get to the dbo.syssubsystems table? I know its in the MSDB but I can't get access to that table, even as an admin of the box. Any ideas?

Did you log in as a SQL Server admin?|||

Yes I can login to the box with Domain admin, then onto the Database engine with the SA id and password. I run the sqlagent job as a 'SQL Server Intergration Services package' and it fails with the 'failed to load susbsystem message'. If I run it as an 'Operating system(CmdExec)' i.e dtexec / SQL "[package name]" etc, then it works.

I can obviously get round the problem this way, but it's frustrating it doesn't work as it should. I think it started to happen after SP1 was installed.

Is it something to do with what account Integration Services runs under? As all the other SQL server service run as domain admin, my intergration Services service runs as NT authority\network service. Should I run this as domain admin also?

One further thing, when comparing other boxes with my problem box, is that I have DTEXEC.exe & DTAttach(and associated Dll's) in C:\Program Files\Microsoft SQL Server\90\DTS\Connections\Binn on the problem box whereas they are in C:\Program Files\Microsoft SQL Server\90\DTS\Binn in all other ones. Is this my problem? Can I simply move them to C:\Program Files\Microsoft SQL Server\90\DTS\Binn?

Saturday, February 25, 2012

Can't Open DTS package - password

I have a SqlSrvr 2k system; a year ago I created a dts
package owned by administrator. I need to open it to
create a copy to move to another system. When I try
to open the package it prompts me for a password; I enter
the administrator's password - which fails. I am logged
in as administrator. How can I open this package ? There
are no security errors in the Sql Server log or the
system errorlog.
Thanks,
John Yard
UCLAThere is not a way to retrieve a password from a DTS package. There is no
way to reset it or change it either. The only way to change the password is
to save the package as a different name and the only way to do this is if
you can open it in the DTS Designer.
HTH
Ryan Waight, MCDBA, MCSE
"John Yard" <anonymous@.discussions.microsoft.com> wrote in message
news:05e101c3a33b$22aac240$a401280a@.phx.gbl...
> I have a SqlSrvr 2k system; a year ago I created a dts
> package owned by administrator. I need to open it to
> create a copy to move to another system. When I try
> to open the package it prompts me for a password; I enter
> the administrator's password - which fails. I am logged
> in as administrator. How can I open this package ? There
> are no security errors in the Sql Server log or the
> system errorlog.
> Thanks,
> John Yard
> UCLA

Sunday, February 19, 2012

Cant Load Into Numeric Fields

Hi,

This may seem like a simple question to be asking but Im not the most experienced working with DTS loads and can't understand (don't know) why my load is failing.

I am trying to load in a text file comma separated into a table I have created.

It consists of only 5 entries

01 - varchar (20)
02 - smalldatetime
03 - smalldatetime
04 - numeric Scale (1)
05 - numeric Scale (1)

Here are the first two lines from my file,

ABCDEFGHIJKLMNOPQRS1,02/02/2005,05/02/2005,0,1
ABCDEFGHIJKLMNOPQRS2,01/02/2005/06/02/2005,1,1

As far as I can se it should be working but it gives me the error:

The number of failing rows exceeds the maximum specified.
TransformCopy 'DTSTransformation_4'conversion error: General conversion failure on column pair (source column 'Col004(DBTYPE_STR), destination column 'Result1' (DBTYPE_NUMERIC)).

Help.

Can't figure out whats going on so any ideas would be useful.

Cheers.Well the second row is missing a comma between the dates

Sunday, February 12, 2012

Cant Handle Dts Error - Transaction was deadlocked...

Hi, i get this error while imanuallyexecute dts. But when i execute dts on my .aspx page, i can't handle this error on "... catch(Exception ex) {... }" part.

catch (Exception ex)
{return ex.Message ;
//DtsPackage.OnError += new PackageEvents_OnErrorEventHandler(DtsPackage_OnError); }
Here is dts message in a text file.

Step 'DTSStep_DTSDataPumpTask_3' failed

Step Error Source: Microsoft OLE DB Provider for SQL Server
Step Error Description:Transaction (Process ID 124) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.
Step Error code: 80004005
Step Error Help File:
Step Error Help Context ID:0

Any idea?

A deadlock happens when two users are trying to get each other's resources.

Here's an example:

Bob is running a process that is updating the Employee table and, in the middle of it, his code tries to update the Customer table.

Sally is running a process that is updating the Customer table on the same Customer that Bob is ABOUT TO deal with and, in the middle of it, her code tries to update the Employee that Bob has already got locked.

Neither can get the other's resource until the other one lets go.

|||

Of course it is. I know what a deadlock is. My question is i can't handle error from my web page. Dts does not return error code. It says "Dts succeeded...".

And i handle it with getting output and get the rows which start with "Error....".

Thanks for your reply..