Welcome 微信登录

首页 / 数据库 / MySQL / 浅谈创建Oracle数据库连接的两种方法

    如果数据库不在本地主机,必须在$Oracle_HOME/network/admin/tnsnames.ora中配置相应的tns,然后程序才能通过配置好的tns访问数据库,但是java通过thin方式访问oracle例外,可以采用在本地配置好的tns别名,也可以采用tns全解析名,采用别名等号后的全描述符;如下:
TESTCZ =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.70.9.12)(PORT = 1521))

(CONNECT_DATA =
(SERVICE_NAME = TESTCZ)

    举例。    现在有两个数据库    adb,用户名和密码分别是adb/adb,在本地主机配置的tns名字是tns_a,所在主机a;    bdb,用户名和密码分别是bdb/bdb,在本地主机配置的tns名字是tns_b,所在主机b;    现在需要在adb上面建一个连接到bdb数据库的dblink;    方法1:    在a主机上编辑tnsnames.ora文件配置bdb数据库的tns别名tns_b,如下:
tns_b =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.70.9.12)(PORT = 1521))

(CONNECT_DATA =
(SERVICE_NAME = dbtestb)

    然后创建数据库连接,如下:
create database linkconnect to bdb identified by identified by bdbusing "tns_b";
    方法2:    如果没有权限修改tnsnames.ora,那么就没有办法建立到adb数据库的tns别名,那么就只能采用在创建dblink的时候,全写解析符号。创建dblink的方法如下:
create database linkconnect to bdb identified by identified by bdbusing "(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.70.9.12)(PORT = 1521))

(CONNECT_DATA =
(SERVICE_NAME = dbtestb)

)";
    创建好tns别名之后,可以采用sqlplus username/password@tnsname来测试创建的tns别名是否正确。    我在生产系统中创建的一个dblink示例:
create database link NEW_DBLINK
connect to AIIPS identified by "1qaz2wsx"
using "(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.70.193.12)(PORT = 1521))

(CONNECT_DATA =
(SERVICE_NAME = zjpub)

)";
业界担忧MySQL命悬一线Oracle中spool命令实现的两种方法比较相关资讯      oracle 
  • [INS-32052] Oracle基目录和Oracle  (07/22/2014 07:41:41)
  • Oracle 4个大对象(lobs)数据类型  (02/03/2013 12:33:05)
  • Oracle按时间段分组统计  (07/26/2012 10:36:48)
  • [Oracle] dbms_metadata.get_ddl的  (07/12/2013 07:37:30)
  • Liferay Portal 配置使用Oracle和  (07/31/2012 20:07:18)
  • Concurrent Request:Inactive   (07/20/2012 07:44:05)
本文评论 查看全部评论 (0)
表情: 姓名: 字数