Transforming header/detail data

  • I have a pretty simple DTS package that has 2 transformations, batch header and detail records from one database to another on the same server. It's failing

    on the detail transformation with the error 'Transaction context in use by another session' in the error log. It's only failing if the rowcount is large. I thought KB article 279857 was close to addressing my scenario, but I'm not sure.

    Am I approaching the problem correctly? Is there something wrong with attempting multiple transformations (same source/destination)? Are they synchronous or asynchronous? If synchronous, how do you order the

    transformations, i.e. the detail can not begin until the batch header has completed? And should all transformations have 'join the transaction if present' checked or unchecked? If asynchronous, do I need multiple package connections to the same source and destination?

    Any help or ideas will be greatly appreciated. Thanks!

    -lenny

  • This was removed by the editor as SPAM

  • Hi,I'm able to  understand the problem you are facing in DTS

    The Error "Transaction Context in use by another Session" is reported as a Microsoft Bug.

    Whenever you tried to transfer the data between two databases in the same server using Data pump Tak , you'll receive this error

    You can still solve this problem

     MS :BUG: Error 3910

    The following MS site will give a clear description about this problem

    http://support.microsoft.com/?scid=http://support.microsoft.com%2Fservicedesks%2Fbin%2Fkbsearch.asp%3Farticle%3D279857

    IF you want a transactional way of transferring the data between two different databases in the same server,you can use the following method

         1.You should not use data pump task

         2.Replace the Data pump Task by Execute Sql Task

         That is Write Sql queries for transferring the data from one databse to another database using one connection.In that case you need to use a single connection.The login id in that server should have access to both the databases.

    Fot eg... if you are transfeering the data between  g1 table (Database db1) to table g2(Database db2),

    you can replace the datapump task with execute sql Task query..

    "insert into g2 select * from db1.(Login id).g1 "

    In the above case the Login id will have the default database as 'Database db2'

    Then select 'Join Transaction if present" and "Roll back Transaction on Failure" in the Execute Sql Task  Work Flow Properties

    Make sure that Login id should have access to both the databases

    Regards,

    Ganesan Singaram

    Coginzant technology Solutions

          

Viewing 3 posts - 1 through 2 (of 2 total)

You must be logged in to reply to this topic. Login to reply