之前发过一贴, 
要把A库的表T的数据插到B库的表中(表重字段都一样),用vc ado编程。 _pConnection m_pConn_a,m_pConn_b; 
_pRecordset m_pRec_a,m_pRec_b; 
_pCommand m_pCmd_a,m_pCmd_b; 
执行一条SQL语句:insert into B.T(select * from A.T...);这个时候一个SQL语句里涉及到两个库的操作,但是执行SQL语句的m_pCmd_b与B库关联,故这条SQL语句不能执行。 
一条SQL语句的执行关联一个库的连接,如果我想用一条SQL语句操作两个库,请问该如何解决?oracle备份的方法:用程序,两个ADO记录集分别打开两个数据库的表,然后循环取得其中一个记录集中的所有数据,插入另外一个记录集. 这个应该怎么做,小弟新手,请大侠指教!

解决方案 »

  1.   

    如果真的不允许,我就会循环先select内部的数据集,然后再慢慢insert
    不过最好的方法是使用存储过程,让数据库自己去操作
      

  2.   

    Oracle数据导入导出imp/exp是比较好 但是是异地的两个数据库  需要同时打开两个数据库 怎么做个循环记录集 实现数据插入
      

  3.   

    从数据库1使用普通的select查询读取
    在数据库中使用普通的insert插入
    这个里面难点在哪?不明白你为什么不知道怎么循环
      

  4.   

    小弟是新手  实在不明白 执行一条SQL语句:insert into B.T(select * from A.T...);这个时候一个SQL语句里涉及到两个库的操作,但是执行SQL语句的m_pCmd_b与B库关联,故这条SQL语句不能执行。 
    一条SQL语句的执行关联一个库的连接 
      

  5.   

    参考这个  http://blog.163.com/fkl19/blog/static/4520392220096810111110/不够的话就自己去百度,Oracle的链路很出名的
      

  6.   

    用代码可以实现:
    一,与两个库建立接
    二,获取A库表T的数据集
    三,while 循环获取记录集,格式化SQL语句INSERT INTO VALUES()字符串,插入到B库表中;
    四,最后别忘了COMMIT;提交事务!