Oracle10g创建Database link

Oracle10g创建Database link

某些时候,需要关联不同的远程数据库进行数据查询、操作等。

在Oracle中,关联不同的数据库进行表关联,就要用到了数据库连接(DB link)。

创建DB link有两种方法:通过SQL语句创建,通过可视化界面创建(其实也是执行的SQL语句)。

1.通过PL/SQL Developer 工具建立
  在左侧目录中 database link中右键---new ...;在窗口中

Name:此DBLINK的名字,你自己随便起。比如:conn205em

UserName:数据库登陆用户名

Password:数据库登陆密码

Database:(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=172.16.19.205)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=orcl11)))

Database信息可在oracle安装目录查询:\product\10.2.0\client_1\network\admin\tnsnames.ora

 eg如下:
	orcl11 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.19.205)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl11)
    )
  )

将上面的"ORA11 ="去掉,其余内容把换行符、空格去掉组成一个字符串即可。
然后点击“Apply”按钮即可。

建立好后,会在Database links菜单下显示。

测试DB link是否有效,执行语句: select * from TRANSFORMER@conn205em

其中,TRANSFORMER为远程数据库的表名。

2.create public database link conn205em2 connect to emusername identified by em using '(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=172.16.19.205)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=orcl11)))';

	orcl11:表示服务名,可通过SQL语句查询:SELECT * FROM GLOBAL_NAME; --查看服务名
	emusername :表示登录远程数据库的帐号
	em	   : 表示登录远程数据库的密码 

ex: 在mybatis中查询时只用在查询远程数据库时添加个别名
如select a.*,#{params.tableName,jdbcType=VARCHAR} tableName from ${params.tableName}@conn205em a

备注:修改自http://www.2cto.com/database/201403/285440.html(并测试可用)

猜你喜欢

转载自ych0108.iteye.com/blog/2175735