如何通过 dblink更新数据
如何写SQL
如果用数据库A访问数据库B
请高手指教啊

解决方案 »

  1.   

    先建立dblink
    create database link dblink_B
    connect to A
    using username identified by password;在A中更新B中的内容
    update 表名@dblink_B
    set ....
    where ...;
      

  2.   


    如果是A更新B的话,就在数据库A中建立到B的database link用1楼的方法,不过是建立到B的连接
      

  3.   

    直接写个存储过程应该可以的,操作的表是 B数据库上的表
    update 表名@dblink_B;  更新B数据库的表
    commit;  
      

  4.   

    和正常的事务一样呀,commit就行了
      

  5.   

    用toad 也可以直接建立连接,还是比较方便的....下面是手动的建...数据库之间的链接建立在DATABASE LINK上。要创建一个DB LINK,必须先在每个数据库服务器上设置链接字符串。 
       
    1、 配置TNS , $ORACLE_HOME/NETWORK/ADMIN/tnsname.ora 
    10gstandby = 
      (DESCRIPTION = 
        (ADDRESS = (PROTOCOL = TCP)(HOST = HFCC-KF-3068)(PORT = 1522)) 
        (CONNECT_DATA = 
          (SERVER = DEDICATED) 
          (SERVICE_NAME = 10gstandby) 
        ) 
      ) 
       
    2、创建数据库链接, 
    create public database link DB_LINK_NAME connect to TargetDatabaseUserName identified by TargetDatabasePassword using 'TargetDatabaseSIDName'; 
    注:TargetDatabaseSIDName为该Oracle数据库所在的主机上的tnsnames.ora文件里边定义的数据库连接串。 
       
    SQL>create public database link dvd connect to system identified by system using 'orcl10g'; 
       
    则创建了一个以system用户和orcl10g数据库的链接dvd,我们查询dvd数据: 
       
    SQL>select * from [email=all_users@dvd]all_users@dvd[/email];   
       
    这样就可以把本地和远程的数据做成一个整体来处理。 
       
    3、建立同义词,为了使有关分布式操作更透明,ORACLE数据库里有同义词的对象synonym 
       
    SQL>create synonym synTest for [email=all_users@dvd]all_users@dvd[/email]; 
       
    于是就可以用synTest来替代带@符号的分布式链接操作[email=all_users@dvd]all_users@dvd[/email]; 
       
    4、查看所有的数据库链接: 
       
    SQL>select owner,object_name from dba_objects where object_type='DATABASE LINK'; 5、查看数据库连接 
    sql> select owner, db_link from dba_db_links; 
    ower    db_link 
    public   DVD.REGRESS.RDBMS.DEV.US.ORACLE.COM 6、删除数据库连接 
    先从第5步中查看数据库连接,取得其db_link的名称 
    sql>drop public database link DVD.REGRESS.RDBMS.DEV.US.ORACLE.COM 
    数据库连接巳丢弃   
      

  6.   

    这样的database link存在对远程数据库中对象的操作权限的问题。
    建立链接的用户应该具有操作所要操作对象的权限。