none
Как использовать IDbTransaction MSSQL и C# 2 RRS feed

  • Вопрос

  • Добрый день,

    Эхо от предыдущего вопроса...

    http://social.msdn.microsoft.com/Forums/ru-RU/fordataru/thread/34e4654b-49b8-49de-9339-00aac0d0c149/#3cb52ed4-7f19-434b-a9ad-1ff5ad0e3167

    Задача: Последовательно обновить связанные таблицы в базе данных. В случае, если возникает проблема при обновлении одной из таблиц, нужно откатить до этого обновленные таблицы. Таблица tblSubName привязана к таблице tblName ключом.

    Новая проблемма:

    Таймаут при обновлении дочерней таблицы тут (sqlDataAdapterSelectTblSubName.Update(dataSetTmpWebDataBase.Tables["tblSubName"]);  )

    Код:

    sConn.Open();

    sConn2.Open();

     

    sqlCommandInsertTblName.Transaction = sConn.BeginTransaction();

    sqlCommandInsertTblSubName.Transaction = sConn2.BeginTransaction();

    try

    {

    sqlDataAdapterSelectTblName.Update(dataSetTmpWebDataBase.Tables["tblName"]);

    sqlDataAdapterSelectTblSubName.Update(dataSetTmpWebDataBase.Tables["tblSubName"]); //В этом месте возникает исключение о timeOut подключения к MSSQl              

    sqlCommandInsertTblName.Transaction.Commit();

    sqlCommandInsertTblSubName.Transaction.Commit();

    }

    catch (Exception ex)

    {

    sqlCommandInsertTblName.Transaction.Rollback();

    sqlCommandInsertTblSubName.Transaction.Rollback();

    }

    Вопрос: я понимаю что проблема в FK, который есть у tblSubName, но как ее обойти? 

     

    Заранее благодарен.

    19 октября 2010 г. 13:57

Ответы