现有两个数据库A,B。
A中执行一个PL/SQL,需要使用一部分B数据库中的数据。应该怎么写?
谢谢

解决方案 »

  1.   

    先要創建一個連接到b的DBLINK,然後再通過該dblink來獲取b中的數據
      

  2.   

    我看了一下创建db link的语法。
    我的A,B数据库不再一台Server上,这种情况怎么写?
      

  3.   

    CREATE PUBLIC DATABASE LINK dblink_for_b
    CONNECT TO username_in_b
     IDENTIFIED BY <password>
     USING '(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP) 
      (HOST = <ip_for_server_b>)(PORT = <port_number_default_1521>))) (CONNECT_DATA = (SERVICE_NAME = <database_service_name>)))';
      

  4.   

    知道了,其实就是TNS那个名字。
      

  5.   

    建立db link的时候有一个授权"authenticated by",要设置吗?
      

  6.   

    只有在設置了shared參數時,才需要設置authenticated by
      

  7.   

    我见了一个DBLINK
    create public database link LK2JDECTL900
      connect to JDECTL900 identified by JDECTL900
      using 'E1Local';使用:
    select * from F0005@LK2JDECTL900提示:ORA:12154,应该是TNS没有找到。
    但是我TNS配置应该没有问题,因为在DSN里面建立并测试的时候是可以连通的。
      

  8.   

    那你試一下用tns中的那串字符代替E1Local吧