显示列表

实现 Oracle 连接 SQL Server

Oracle 可以透明网关实现和其它数据库的连接

=================================
测试环境:
Oracle 服务器信息
    网络地址: 192.168.1.15
    连接端口: 1521
   安装目录: C:\oracle\ora92

SQL 服务器信息
    网络地址: 192.168.1.201 
    数据库名: pubs
=================================


一、安装 Transparent Gateway for Windows SQL Server

安装后在$ORACLE_HOME下可以看到tg4msql目录

如果在Oracle主目录下有tg4msql文件夹,那么不需要重新安装

启动 Oracle 安装程序,安装 Transparent Gateway for Windows SQL Server,在自定义中选择安装 Oracle Transparent Gateway for Microsoft SQL Server




二、配制相关文件

1. 配置init<SID>.ora
在Oracle主目录下tg4msql\admin目录下,拷贝inittg4msql.ora并改名为init<SID>.ora。
本例的这个文件名就是 C:\oracle\ora92\tg4msql\admin\initpubs.ora

内容如下:
******************************
# This is a sample agent init file that contains the HS parameters that are
# needed for the Transparent Gateway for SQL Server

#
# HS init parameters
#
HS_FDS_CONNECT_INFO="SERVER=192.168.1.201;DATABASE=pubs"
HS_FDS_TRACE_LEVEL=OFF
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER
******************************    
上面指定了要连接的 SQL Server 的地址和数据库名称



2. 配置Oracle主目录下network\admin目录下的listener.ora
本例的这个文件名就是 C:\oracle\ora92\network\admin\listener.ora

内容如下:
******************************
# LISTENER.ORA Network Configuration File: C:\oracle\ora92\NETWORK\ADMIN\listener.ora
# Generated by Oracle configuration tools.

LISTENER =
   (DESCRIPTION_LIST =
       (DESCRIPTION =
           (ADDRESS_LIST =
               (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.15)(PORT = 1521))
           )
       )
   )

SID_LIST_LISTENER =
   (SID_LIST =
       (SID_DESC=
           (SID_NAME=pubs)
           (ORACLE_HOME=c:\Oracle\Ora92) 
           (PROGRAM=tg4msql)
       )
   )
****************************** 


3. 配置 Oracle 主目录下 network\admin 目录下的 tnsnames.ora
本例的这个文件名就是 C:\oracle\ora92\network\admin\tnsnames.ora

追加下面内容:
****************************** 
pubs =
   (DESCRIPTION =
       (ADDRESS_LIST =
           (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.15)(PORT = 1521))
       )
       (CONNECT_DATA =
           (SID = pubs)
       )
       (HS = OK) 
   )
******************************
注意:这里是追加内容,不是修改内容。


4. 重启监听器
控制面板 - 管理工具 - 服务,找到 OracleOraHome92TNSListener 服务,重启动。



三、在 Oracle 上创建数据库连接


1. 运行 sqlplus
运行 CMD,输入“sqlplus /nolog”,进入 sqlplus 控制台


2. 用 sysdba 的身份登陆
SQL> conn sys/sys as sysdba;

这里的 sys 用户的密码也为 sys


3. 修改参数
SQL> alter system set global_names = false;
不要求建立的数据库链接和目的数据库的全局名称一致


4. 创建数据库连接
SQL> create database link pubs connect to sa identified by sa using 'pubs';
connect to 后面是要连接的 Sql Server 数据库用户名
identified by 后面是要连接的 Sql Server 数据库密码
using 后面是SID,就是在 C:\oracle\ora92\network\admin\tnsnames.ora 文件中加的名称



四、测试数据库连接
SQL> select * from jobs@pubs;
能看输出表示连接正常


注意:指定查询字段时,字段名要用双引号,如下
SQL> select "job_id" from jobs@pubs;




tnsping pubs

返回摘要 | 分类(Oracle) | 访问(0) | 编辑

如果想在输出的字段中多加一些特别的符号,可能 Concat 函数,连接两个字符串。

Select Concat('¥', Price) From TableName

会输出如“¥100”

标签:Oracle函数 
返回摘要 | 分类(Oracle) | 访问(23) | 编辑