Oracle 10g透明网关访问SQL Server 2000之创建DB Link

数据库 Oracle
本文我们接着上次介绍Oracle 10g透明网关访问SQL Server 2000的配置过程,包括配置tnsname.ora、创建DB Link以及连接测试等,希望能够对您有所帮助。

上次我们介绍了:Oracle 10g透明网关访问SQL Server 2000之配置监听,本文我们接着上次的介绍一下Oracle 10g透明网关访问SQL Server 2000之创建DB Link的过程,接下来就让我们一起来了解一下吧!

七、配置tnsname.ora

D:\oracle\product\10.2.0\tg_1\NETWORK\ADMIN目录下配置tnsnames.ora文件,如下:

  1. UFDATA_002_2009=    
  2. (DESCRIPTION =    
  3. (ADDRESS_LIST =    
  4. (ADDRESS =  
  5. (PROTOCOL = TCP)(HOST = 192.168.0.233)(PORT = 1521))    
  6. )    
  7. (CONNECT_DATA =    
  8. (SID=UFDATA_002_2009)    
  9. )    
  10. (HS = OK)    

留意HS=OK,这主要由于是用于Oracle server调用异构服务器进行处理必须的。  

现在使用tnsping测试:  

  1. C:\Documents and Settings\rocky>tnsping ufdata_002_2009 TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 05-6月 - 2009 08:16:30  
  2. Copyright (c) 1997, 2005, Oracle. All rights reserved.  已使用的参数文件:    
  3. D:\oracle\product\10.2.0\tg_1\network\admin\sqlnet .ora 已使用 TNSNAMES 适配器来解析别名  
  4. Attempting to contact  
  5. (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)    
  6. (HOST = 192.168.0.233)(PORT = 1521)))  
  7. (CONNECT_DATA = (SID=UFDATA_002_2009)) (HS   = OK))    
  8. OK (20 毫秒) 

一切正常,由透明网关必须通过其它ORACLE库进行访问其它库(dblink),该步骤可以省略,这里使用tnsping测试。

八、创建访问SQL SERVER访问账号  

由于使用DBLINK不能为空密码,为了使用数据安全性,在192.168.0.233服务器创建一个登录账号为oracletosql,密码为oracletosql,并设置权限访问UFDATA_002_2009数据库权限。

九、Oralce 创建DBLINK  

  1. create public database link UFDATA2009 connect to "oracletosql" identified by "oracletosql" using    
  2. '(DESCRIPTION =    
  3. (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.0.233)(PORT=1 521)) (CONNECT_DATA=(SID=UFDATA_002_2009)    
  4. )    
  5. (HS = ok))'; 

留意DESCRIPTION的HS与tnsname.ora中的HS=OK。  

十、测试连接并使用SQL  

SQL>Select * From DUAL@UFDATA2009; SQL> DUMMY ------ X 连接正常  

由于ORACLE 数据库采用PL-SQL而SQL SERVER采用T-SQL且异构数据题目,即使用采用标准SQL仍可能无法正常访问。为了使用ORACLE 方便使用SQL SERVER的数据。 

现进行以下构建:建立表视图,屏蔽@UFDATA2009 DBLINK连接,重要的是在PLSQL Developer可以使用智能感知功能。  

  1. Create Or Replace View DJ_UFDATA_HR_SHOW    
  2. As    
  3. Select * from hr_v_HR31_show@UFDATA2009     
  4. With Read Only;  

构建标准ORACLE访问视图DJ_UFDATA_HR,在构建DJ_UFDATA_HR视图大部分使用智能感知形式得出字段,否则即使用写的字段名和智能感知一样也可能出错(无效字段或索引等等错误信息),且必须使用AS 命别名为ORACLE方便访问。  

  1. Create Or Replace View DJ_UFDATA_HR    
  2. As   
  3. select "HR"."cPsn_Num" As cPsn_Num,    
  4. "HR"."cPsn_Name" As cPsn_Name,     
  5. "HR"."cDept_Name" As cDept_Name,     
  6. "HR"."cDept_num" As cDept_num,    
  7. "HR"."cPsnProperty" As cPsnProperty    
  8. from DJ_UFDATA_HR_SHOW "HR"    
  9. With Read Only;  

总结:

在进行配置透明网关访问SQL SERVER时,整个过程的SID(DBLINK命名随意)最好命名与SQL SERVER数据库一致,如UFDATA_002_2009,否则很轻易出现以下错误信息:

  1. ORA-: error diagnosed by Net8 when connecting to an agent    
  2. Unable to retrieve text of NETWORK/NCR message    
  3. ORA-02063: preceding 2 lines from UFDATA2009  

另外在DBLINK访问用户账号最好使用小写且使用""双引号,如" oracletosql" ,这样可以SQL SERVER2000和SQL SERVER2005访问,另外就是ORACLE 方便访问SQL SERVER的SQL程序。

关于Oracle 10g透明网关访问SQL Server 2000的配置过程至此已经全部介绍完毕了,希望本次的介绍能够对您有所收获!

原文出处:http://blog.csdn.net/rockywu/archive/2009/06/04/42 .aspx。

【编辑推荐】

  1. Oracle 10g客户端的安装配置操作详解
  2. Win7下安装Oracle 10g常见错误的解决方案
  3. Windows7下如何卸载64位的Oracle 10g数据库
  4. Oracle 10g配置不正确造成的错误分析及解决方案
  5. Oracle 10g Shrink Table和Shrink Space使用详解

 

责任编辑:赵鹏 来源: 新浪博客
相关推荐

2011-08-17 14:41:12

Oracle 10g透SQL Server

2010-09-08 08:44:30

SQL Server

2009-10-20 18:32:25

Oracle 10g

2011-08-30 14:40:46

SQL Server Oracle 10gC#源码程序

2010-04-14 10:03:52

SQL Server

2011-04-15 09:53:37

Oracle 10gSQL优化

2010-04-14 17:51:44

Oracle DB L

2010-04-14 16:09:51

Oracle 10g归

2011-08-29 13:40:12

Oracle 10g创建表空间

2009-10-23 15:54:01

Oracle 10g序

2011-03-25 16:10:58

oraclenagios

2011-05-13 11:21:51

linuxoracle 10g安装

2011-08-17 15:30:47

Oracle 10gutlsampl.sqscott用户

2011-03-29 09:56:48

Oracle数据库10SQL

2011-08-23 14:23:25

Oracle 10g内系统全局区

2011-03-29 10:09:41

Oracle 10g虚拟数据库

2011-08-17 16:28:31

Windows SerOracle 10g

2010-04-13 10:07:19

Oracle 10G

2010-03-30 19:31:25

Oracle 10g

2009-11-19 10:32:41

Oracle 10g服
点赞
收藏

51CTO技术栈公众号