有可能一个conn去连两个数据库嘛?有点玄吧?你也不要那么懒嘛就建两个conn,分别指向dbFirst和dbSecond最蠢的办法先做一次select * from dbFirst.tableA,在获得rs的同时,将rs里的元素通过insert into dbSecond.tableA 入库,绝对可行

解决方案 »

  1.   

    这样做需要数据库的支持,有的数据库支持这类SQL语句,有的不支持。我记得Sql server就支持,而oracle不支持这样的SQL语句。
    如果是sql server 则只要用连接一个数据库,在用这样的Sql语句的时候,SQL server会自动连接第二个库。以上的思路来源于前年的同学去面试的题目。不知道现在的sql server是否还支持。
      

  2.   

    这种想法是不可行的。
    因为第二个库dbSecond你可能根本就没权限去访问,db2会拒绝dbSecond.tableA 这种写法,我试过,这样会出现以下错误:
    SQL0204N  "dbSecond.tableA" is an undefined name.  SQLSTATE=42704
    所以你必须要有两个数据库的访问权限,也就是两个连接才行。
      

  3.   

    Joeblackyang(野Heart) :可行的,Sql server中支持在SQL语句中访问另外一个苦,要求在SQL与语句包含访问另外一个库的用户名密码。
    这方面我还写过这样的SQL语句,我以前做个笔记,不知道是否还能找到(可能性比较少,好几年没用了)。如果是用SQL server的,看看帮助,很容易搞定在SQL与句中做到的。我记得那时我是花了几个小时找到的。如果是其他数据库,你就得看你的数据库是否支持了。
    那次公司给的面试实际上也是那个公司在应用中要解决的问题。只不过那家公司只是要写出sql语句而已,但如果把这个sql语句放在程序中也是可行的。