加载中…
个人资料
Zero
Zero
  • 博客等级:
  • 博客积分:0
  • 博客访问:68,017
  • 关注人气:31
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Oracle11g通过ODBC连接MSSQLServer备忘

(2016-09-26 13:57:47)
标签:

oracle访问mssqlserve

ora-28545

odbc

数据库技术

it

分类: 工作相关

Oracle11g通过ODBC连接MSSQLServer备忘

1、         环境说明

1)         OracleMSSQLServer服务器操作系统均为Windows Server 2008 r2 Enterprise

2)         Oracle版本为Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production

3)         MSSQLServer版本为mssqlserver2008

 

2、         建立数据源

1)         开始菜单,管理工具,数据源;

 Oracle11g通过ODBC连接MSSQLServer备忘

2)         选择系统DSN,点击右侧“添加”,弹出界面选择SQL Server,点击“完成”,进入下一步;

Oracle11g通过ODBC连接MSSQLServer备忘

Oracle11g通过ODBC连接MSSQLServer备忘

 

 

3)         给你的数据源起个名称、描述,以及填写MSSQLServer数据库IP地址;

Oracle11g通过ODBC连接MSSQLServer备忘

 

 

4)         点击“下一步”,如下图所示,输入用户名及密码,点击“下一步”,查看是否需要更改默认数据库,选择好之后,继续点击“下一步”;

Oracle11g通过ODBC连接MSSQLServer备忘

Oracle11g通过ODBC连接MSSQLServer备忘

 

 

5)         进入下一界面,如下图所示,基本不需要更改,直接点击“完成”即可;

Oracle11g通过ODBC连接MSSQLServer备忘

Oracle11g通过ODBC连接MSSQLServer备忘

 

 

6)         弹出界面可以看到配置的ODBC信息,点击“测试数据源”,如果没有问题的话,则会提示“测试成功”,如果失败,则检查以上步骤是否存在错误;

Oracle11g通过ODBC连接MSSQLServer备忘

 

到此,数据源配置完成。

3、         Oracle数据库配置调整

1)         配置initdg4odbc.ora文件,另存一份文件,命名为initdg4.ora,比如这里我们命名为initdg4mssql.ora;

路径为:\app\Administrator\product\11.2.0\dbhome_1\hs\admin

编辑此文件,内容如下:

HS_FDS_CONNECT_INFO = MSSQLServer—配置成数据源名称

HS_FDS_TRACE_LEVEL = 0

Oracle11g通过ODBC连接MSSQLServer备忘

 

2)         监听文件调整:文件路径\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN

SID_LIST_LISTENER新增一段

(SID_DESC =

      (SID_NAME = dg4mssql)—配置成initdg4mssql.ora文件init后面的字串

      (ORACLE_HOME = D:\app\Administrator\product\11.2.0\dbhome_1)

      (PROGRAM = dg4odbc)

    )

3)         TNS新增连接串文件路径\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN

配置为:

mssql =

  (DESCRIPTION =

     (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.120)(PORT = 1521))

    (CONNECT_DATA =

      (SID = dg4mssql)

    )

    (HS = OK)

  )

 

 Oracle11g通过ODBC连接MSSQLServer备忘

 

4、         测试连接

1)         创建dblink

create public database link mssql connect to user identified by "password" using 'mssql';

2)         查询MSSQLServer开放的表或试图

select * from dbo.View@mssql

可以查询到,则说明完成配置。

 

 

        备忘:好久没有跨异构数据库做数据交互了,MSSQLServer访问Oracle还是相对简单一点,做过好几次都没有出过问题,这次Oracle访问MSSQLServer竟然出现问题了,以前配置几次也没有问题。主要的还是,顺利的配置下来,成功了遇到的问题就少。这次开始的时候我是想通过透明网关来做,之前也是这么做过一次,可是这次配置完透明网关之后,监听总是会出问题。查了一下,原来网上一直都有人遇到这样的问题。找了一些网上的方案,按照步骤一步一步操作,发现还是不行。索性就放弃了这一方式,改用ODBC数据源的方式,毕竟个人对数据源配置更为熟悉,也认为更加简单。

         第一次配置的时候,仍然是报错的,ora-28545,发现网上也是一堆这样的提问,解决方式各不相同。直接推到重来,最终解决了这个问题,特此备忘一下。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有