浅谈创建Oracle数据库连接的两种方法

运维 数据库运维 Oracle
本文将介绍如何使建立一个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 link

connect to bdb identified by identified by bdb

using 'tns_b';

方法2:

如果没有权限修改tnsnames.ora,那么就没有办法建立到adb数据库的tns别名,那么就只能采用在创建dblink的时候,全写解析符号。创建dblink的方法如下:

create database link
connect to bdb identified by identified by bdb

using '(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)
    )
  )';

【编辑推荐】

  1. 实战PHP5+Apache2.2+MySQL5.1配置经历
  2. 优化MySQL插入方法的五个妙招
  3. 详解MySQL三项实用开发知识
责任编辑:彭凡 来源: 51CTO
相关推荐

2011-05-24 09:18:59

C++连接mysql数据库

2009-08-25 11:35:27

C#连接数据库

2011-04-25 09:53:31

C++mysql

2011-08-29 17:25:21

Oracle日期范围搜索

2010-04-06 10:52:06

Oracle数据库

2010-10-26 14:06:43

oracle连接远程数

2010-04-28 16:23:18

Oracle数据库

2010-04-13 09:50:44

Oracle跟踪

2011-07-14 17:50:50

domino数据库

2011-03-10 14:03:00

Access数据库Excel

2010-03-05 16:03:30

Python连接数据库

2010-05-06 09:30:16

Oracle创建数据库

2010-05-26 18:52:12

SVN库

2010-11-16 16:36:40

Oracle删除用户

2009-04-21 11:23:56

Oraclespool比较

2019-03-27 14:41:41

Python数据库Windows

2010-08-04 17:41:52

挂载NFS

2010-09-08 13:53:10

.NET连接Sybas

2011-07-04 13:39:32

注册表监听器

2010-10-26 15:54:02

连接oracle数据库
点赞
收藏

51CTO技术栈公众号