Sql Server 2008 R2链接服务器Oracle数据库

//来源:https://blog.csdn.net/weixin_43028012/article/details/81908020

项目需要对接其他平台的数据,并在网页上进行展示。
利用公司CMS框架,最简单的制作方式,就是在sql server 2008 r2数据库中添加oracle的链接服务器。(不用写一行代码哦~)

 

 

 

作如下

确保网络通畅
注:一定要确保数据库服务器网络环境是否连通

安装Oracle Client
装完之后,访问接口选项中才会出现Oracle Provider for OLE DB选项

 

 


访问接口设置

 

 

 

 

 


注:之前勾选了很多项,写sql查询语句时报错(如下图),又恢复只勾选“允许进程内”就好了,不清楚报错与这些选项有什么关联。

 

 


新增链接服务器并配置

 

 

 

 

 

 

 


编写sql语句

select * from LinkServerName..DBName.TableName

 SELECT * FROM OPENQUERY(LinkServerName, 'SELECT distinct *  FROM  TableName')

当 用,Provider=OraOLEDB.Oracle方式访问ORACLE11g数据库。出现 未在本地计算机注册“OraOLEDB.Oracle”提供程序提示。解决方案如下:

客户端环境:Win7  64 bit

安装:Oracle - OraClient11g_home1(64bit)安装在E:\

Oracle - OraClient11g_home2(32bit) 安装在D:\

由于本地PLSQL Developer链接问题,所以安装了2个版本的orcle客户端

找到安装目录执行:以我的安装目录为例:分别执行2个版本

regsvr32 E:\app32\tm\product\11.2.0\client_1\BIN\OraOLEDB11.dll

--提示注册成功

regsvr32 D:\app32\tm\product\11.2.0\client_1\BIN\OraOLEDB11.dll

--提示注册成功

链接字符串测试:

Provider=OraOLEDB.Oracle;Data Source=orcl;User Id=test;Password=test

orcl:本地监听名

successful!


注:Oracle语句是区分大小写的

我直接用公司CMS框架,在模版中写SQL的时候也是区分大小写,但是发现静态生成报错,静态生成时把SQL默认全部转为小写字母,所以就会出现“该表不存在”等SQL语句报错问题。

解决方法:
在自己的数据库中创建View
优点:
1、Oracle数据字段为中文,可以as成英文。
2、业务逻辑梳理
3、解决CMS框架中会直接把SQL语句转为小写字母的问题。

直接Sql Server中使用链接服务器远程连接Oracle数据库的弊端就是SQL语句执行的真的好慢,但是CMS静态生成可以暂时不考虑这个问题。哈哈哈哈哈哈哈哈~
————————————————
版权声明:本文为CSDN博主「April小小」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_43028012/java/article/details/8190802

posted @ 2020-04-13 11:12  Star★  阅读(606)  评论(0编辑  收藏  举报