每次我用jdbc去连接一个库,与用dblink去连一个库。有什么区别么?
前提是都用同一个用户去连。

解决方案 »

  1.   

    不知道大家是不是没有明白我的意思:
    A数据库 本地库,要修改的库
    B数据库 要取数据的库
    C 操作员dblink C直接从A中取到B的数据,通过sql直接修改A库。
    jdbc C用java去连B库,取到数据,C再去连A库,用sql再去修改A库。
      

  2.   

    dblink开发上不是很难。如果是表结构和数据的变化不是很大,而且数据量不是很多的情况下可以考虑dblink。实践中告诉我dblink不是很稳定。数据库出现问题以及数据库的链接断开等很多因素都能导致dblink中断。
    用java程序来控制当然非常灵活而且稳定。而且可以记录详细的日志。并对数据上传做好记录,对数据的重传等机制的控制都能做的很好。
    所以如果是简单的两个系统之间数据量不是很大的情况下用dblink比较简单,迅速
    如果是数据库复杂,牵扯到多个数据库的传递和修改。那最好是用程序来控制吧。
      

  3.   

    楼上的。dblink失效的情况下,jdbc会不会一定失效?二者之间有没有必然关系。
      

  4.   

    我如果没记错的话:JDBC应该是用于Java等与数据库的连接
    而Dblink是用于数据库与数据库的连接吧。
      

  5.   

    JDBC和DBLlink没有比较的意义。Dlink失效的对JDBC没有影响。但可能会影响到你的查询。
      

  6.   

    楼主是做一些数据的采集吧  
    你的目的是修改A库
    关键还是工作量的问题吧 
    要是写JAVA程序去修改快的话就用JDBC  
    利用dblink写存储过程快的话就用dblink 
    效率上dblink应该高些
    表结构相差不大的话  插入数据 用dblink 
    一行代码就搞定了(eg:insert a(c1,c2) select c1,c2 from a@dblinkname)
    还有可以利用物化视图修改
      

  7.   

    我没发现dblink不稳定,除非你网络断了,JDBC一样也连不上
    建个日志表,亦可记录记录详细的日志
    数据量大的话 用SQL也可以分页采集 
    ORACLE也有很好的异常处理机制
      

  8.   

    请问dblink可以连接不同种的数据库吗?比如oracle和SqlServer?