Oracle连接SqlServer

我所知道的两种方案:

1、透明网关。

2、建立SqlServer数据源。

 

透明网关在以前的使用过程当中经常出现不稳定的问题所以现在采用的是建立SqlServer数据源的这种方案。

第一步、建立Sqlserver的数据源。

1、在管理工具中找到数据源(ODBC)

 Oracle连接SqlServer

2、选择系统DSN面板然后点击添加

 Oracle连接SqlServer

3、选择Sqlserver 点击完成

 Oracle连接SqlServer

4、输入数据源名称跟服务器名

 Oracle连接SqlServer

5、选择登录方式,填写密码后下一步

 Oracle连接SqlServer

6、一定要记得修改你的默认数据库,去选择你要连接的库

 Oracle连接SqlServer

7、都让他默认,直接点击完成。

 Oracle连接SqlServer

8、测试数据源,一定要测试通过才算完。

 Oracle连接SqlServer

 Oracle连接SqlServer

至此数据源准备完毕

 

第二步、进行Oracle的配置

 

1、打开Oracle的安装路径下的这个文件夹D:\oracle\product\10.2.0\db_1\hs\admin(我的是D)

2、新建一个文件,文件的名称为:”init”+”empsms”数据源名称+后缀”.ora”——initempsms.ora

3、内容为:

# This is a sample agent init file that contains the HS parameters that are

# needed for an ODBC Agent. 

 

#

# HS init parameters

#

HS_FDS_CONNECT_INFO = empsms

HS_FDS_TRACE_LEVEL = 0

 

 

#

# Environment variables required for the non-Oracle system

#

#set <envvar>=<value>

4、打开D:\oracle\product\10.2.0\db_1\NETWORK\ADMIN文件。

5、编辑listener.ora文件,在原有的SID_LIST_LISTENER中加入红色部分的SID_DESC。 新加入的SID_NAME一定要跟你Sqlserver数据源的名称对应。

SID_LIST_LISTENER =

  (SID_LIST =

    (SID_DESC =

      (SID_NAME = PLSExtProc)

      (ORACLE_HOME = D:\oracle\product\10.2.0\db_1)

      (PROGRAM = extproc)

    )

    (SID_DESC =

      (SID_NAME = empsms)

      (ORACLE_HOME = D:\oracle\product\10.2.0\db_1)

      (PROGRAM = hsodbc)

    )

  )

6、编辑tnsnames.ora,新建如下配置:

empsms =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = tcp)(HOST = 计算机名称或ip)(PORT = 1521))

    )

    (CONNECT_DATA =

      (SID = empsms)

    )

    (HS = OK)

  )

SID 一定要跟你数据源的名称对应。

7、新建DBlink

  create database link SMS

  connect to SA IDENTIFIED BY "sa用户的密码"

  using ‘empsms‘;

  测试:select * from SqlServer库中的表的名称@SMS ;

8、新建同义词TBL_SMS@SMS:其中TEL_SMSSqlServer中数据源

  create or replace synonym TBL_SQL_SMS

  for TBL_SMS@SMS...dblink的名称;

  测试一下select * from  TBL_SQL_SMS;

 

注意OracleSqlserver的语法不同之处。如查询单个字段时,需使用””将SqlServer字段的名称引起来,插入也是如此。


Oracle连接SqlServer

上一篇:js函数


下一篇:MangoDB--了解篇