![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
|
Hi I have a sequence container with TransactionOption = Required. In this container there is a number of task with TransactionOption = Supported and they therefore join the transaction started by the sequence container. This all works fine. Outside this container I have another task, which has TransactionOption = Supported. As there is no transaction to join, this task should not run within a transaction. Nevertheless I get this error message, when the task is run (where EndPackage is the name of the task): -- Executing the query "EndPackage" failed with the following error: "Distributed transaction completed. Either enlist this session in a new transaction or the NULL transaction.". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly. -- The error message indicates that it tries to join a transaction, but it shouldn't... Or is there something I've misunderstood? If I alter the TransactionOption on "EndPackage" to "Required", this task works, but then the problem is merely deferred to the next package in the sequence - and there are several - and as the error also occurs in the validation phase of subsequent packages, it is not really an option. Regards |
#3
| |||
| |||
|
|
Hi I have a sequence container with TransactionOption = Required. In this container there is a number of task with TransactionOption = Supported and they therefore join the transaction started by the sequence container. This all works fine. Outside this container I have another task, which has TransactionOption = Supported. As there is no transaction to join, this task should not run within a transaction. Nevertheless I get this error message, when the task is run (where EndPackage is the name of the task): -- Executing the query "EndPackage" failed with the following error: "Distributed transaction completed. Either enlist this session in a new transaction or the NULL transaction.". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly. -- The error message indicates that it tries to join a transaction, but it shouldn't... Or is there something I've misunderstood? If I alter the TransactionOption on "EndPackage" to "Required", this task works, but then the problem is merely deferred to the next package in the sequence - and there are several - and as the error also occurs in the validation phase of subsequent packages, it is not really an option. Regards |
#4
| |||
| |||
|
|
Martin: This is not a solution, but a question: I too am working on a package which contains Sequence Containers but I cannot get them to run with TransactionOption=Required and all its member tasks with TransactionOption=Supported. When I run the package, it Validates the Seq. COntainer, executes the first task (a simple TRUNCATE TABLE statement in an Execute SQL Task) but when it gets to the Data Flow task, which is supposed to load data from another Db (on the same server) it hangs up, and also locks up Visual Studio after a while. The TRUNCATE task and DataFlow tasks run fine if not contained within the Sequence Container. I suspect I have some wrong settings on my Component Services under Admin Tools. (Designing on an XP/SP2 machine with SQL 2005 Developer/SP1) Start >> Programs >> Administrative Tools >> Component Services Then open the Component Services node and the Computers node. Right click on My Computer and choose Properties. Click on the MSDTC tab. What settings do you have there. What settings do you have under the Security Configuration button? Any thoughts out there anyone? Thanks in advance. Todd C "Martin Schou" wrote: Hi I have a sequence container with TransactionOption = Required. In this container there is a number of task with TransactionOption = Supported and they therefore join the transaction started by the sequence container. This all works fine. Outside this container I have another task, which has TransactionOption = Supported. As there is no transaction to join, this task should not run within a transaction. Nevertheless I get this error message, when the task is run (where EndPackage is the name of the task): -- Executing the query "EndPackage" failed with the following error: "Distributed transaction completed. Either enlist this session in a new transaction or the NULL transaction.". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly. -- The error message indicates that it tries to join a transaction, but it shouldn't... Or is there something I've misunderstood? If I alter the TransactionOption on "EndPackage" to "Required", this task works, but then the problem is merely deferred to the next package in the sequence - and there are several - and as the error also occurs in the validation phase of subsequent packages, it is not really an option. Regards |
#5
| |||
| |||
|
|
Try using a Delete statement instead. Truncate table cannot run within a transaction. Transactions use the database transaction log in order to enable rollback, and since Truncate Table don’t log the deletion of data, the statement cannot participate in the transaction. "Todd C" wrote: Martin: This is not a solution, but a question: I too am working on a package which contains Sequence Containers but I cannot get them to run with TransactionOption=Required and all its member tasks with TransactionOption=Supported. When I run the package, it Validates the Seq. COntainer, executes the first task (a simple TRUNCATE TABLE statement in an Execute SQL Task) but when it gets to the Data Flow task, which is supposed to load data from another Db (on the same server) it hangs up, and also locks up Visual Studio after a while. The TRUNCATE task and DataFlow tasks run fine if not contained within the Sequence Container. I suspect I have some wrong settings on my Component Services under Admin Tools. (Designing on an XP/SP2 machine with SQL 2005 Developer/SP1) Start >> Programs >> Administrative Tools >> Component Services Then open the Component Services node and the Computers node. Right click on My Computer and choose Properties. Click on the MSDTC tab. What settings do you have there. What settings do you have under the Security Configuration button? Any thoughts out there anyone? Thanks in advance. Todd C "Martin Schou" wrote: Hi I have a sequence container with TransactionOption = Required. In this container there is a number of task with TransactionOption = Supported and they therefore join the transaction started by the sequence container. This all works fine. Outside this container I have another task, which has TransactionOption = Supported. As there is no transaction to join, this task should not run within a transaction. Nevertheless I get this error message, when the task is run (where EndPackage is the name of the task): -- Executing the query "EndPackage" failed with the following error: "Distributed transaction completed. Either enlist this session in a new transaction or the NULL transaction.". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly. -- The error message indicates that it tries to join a transaction, but it shouldn't... Or is there something I've misunderstood? If I alter the TransactionOption on "EndPackage" to "Required", this task works, but then the problem is merely deferred to the next package in the sequence - and there are several - and as the error also occurs in the validation phase of subsequent packages, it is not really an option. Regards |
#6
| |||
| |||
|
|
Hello Martin, What? TRUNCATE can exist in a transaction. Truncate does also log the deletion of data albeit not individual rows. Allan Try using a Delete statement instead. Truncate table cannot run within a transaction. Transactions use the database transaction log in order to enable rollback, and since Truncate Table don’t log the deletion of data, the statement cannot participate in the transaction. "Todd C" wrote: Martin: This is not a solution, but a question: I too am working on a package which contains Sequence Containers but I cannot get them to run with TransactionOption=Required and all its member tasks with TransactionOption=Supported. When I run the package, it Validates the Seq. COntainer, executes the first task (a simple TRUNCATE TABLE statement in an Execute SQL Task) but when it gets to the Data Flow task, which is supposed to load data from another Db (on the same server) it hangs up, and also locks up Visual Studio after a while. The TRUNCATE task and DataFlow tasks run fine if not contained within the Sequence Container. I suspect I have some wrong settings on my Component Services under Admin Tools. (Designing on an XP/SP2 machine with SQL 2005 Developer/SP1) Start >> Programs >> Administrative Tools >> Component Services Then open the Component Services node and the Computers node. Right click on My Computer and choose Properties. Click on the MSDTC tab. What settings do you have there. What settings do you have under the Security Configuration button? Any thoughts out there anyone? Thanks in advance. Todd C "Martin Schou" wrote: Hi I have a sequence container with TransactionOption = Required. In this container there is a number of task with TransactionOption = Supported and they therefore join the transaction started by the sequence container. This all works fine. Outside this container I have another task, which has TransactionOption = Supported. As there is no transaction to join, this task should not run within a transaction. Nevertheless I get this error message, when the task is run (where EndPackage is the name of the task): -- Executing the query "EndPackage" failed with the following error: "Distributed transaction completed. Either enlist this session in a new transaction or the NULL transaction.". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly. -- The error message indicates that it tries to join a transaction, but it shouldn't... Or is there something I've misunderstood? If I alter the TransactionOption on "EndPackage" to "Required", this task works, but then the problem is merely deferred to the next package in the sequence - and there are several - and as the error also occurs in the validation phase of subsequent packages, it is not really an option. Regards |
#7
| |||
| |||
|
![]() |
| Thread Tools | |
| Display Modes | |
| |