各位大虾小弟写了一个小程序需要用到两个数据库中的内容,具体做法是将有相同结构的表中的数据库从一个数据库中导入到另外一个数据库中。代码大体结构是
try
{
        ADOConnection1->BeginTrans();
        ADOConnection2->BeginTrans();
.............
.............
...........          ADOConnection1->CommitTrans();
          ADOConnection2->CommitTrans();}
catch(...)
{
    ADOConnection1->RollbackTrans();
    ADOConnection2->RollbackTrans();
}
ADOConnection1连接一个数据库ADOConnection2连接另外一个数据库,但是每次执行的时候都是报 adoconnection已经超时,是不是因为事务不能嵌套,还是因为什么,我把他们的commandtimeout 都设成了200了啊,

解决方案 »

  1.   

    好像 ado 是不支持 嵌套事务
      

  2.   

    ADOConnection1->BeginTrans();
            ADOConnection2->BeginTrans();
    .............
    .............
    ...........
              ADOConnection2->CommitTrans();          ADOConnection1->CommitTrans();
      

  3.   

    ado 是不支持 嵌套事务
      

  4.   

    按照上面的说法吧ADOConnection2的事务注释掉,同时将comandtimeout 设置为0 还是超时
    try
    {
            ADOConnection1->BeginTrans();.............
    .............
    ...........这里为循环语句,大概有二十个adoquery与adoconnection1 关联          ADOConnection1->CommitTrans();
    }
    catch(...)
    {
        ADOConnection1->RollbackTrans();
    }