之前写过一篇关于SQL Server 访问MySQL数据库的文章,最近正好又遇到需要访问oracle 的情况,将配置过程记录下来也供大家参考。
准备工作
事先在需要访问Oracle 数据库的主机上完成以下工作:
1. 安装SQL Server 数据库:SQL Server 2008 R2 Express
2. 安装Oracle 客户端访问程序:Oracle 10g Client
3. 配置Oracle 客户端tnsnames.ora 文件,其中需要注意文件中的数据库别名“ORADB”,该名称在下文创建Linked Server 时将会使用到。
ORADB = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOst = HOSTIP)(PORT = 1521)) (CONNECT_DATA = (SID = DBNAME)) )
4. 确保主机可以通过SQLPlus 访问远程Oracle 数据库。

创建Linked Server
打开SQL Server Management Studio 进入Server Objects 列表,右键Linked Servers,点击“New Linked Server...”

在General 界面中填写下面几项内容:
Linked server: 填写Linked Server 名称
Provider:选择microsoft OLE DB Provider for Oracle
Product name:填写Oracle
Data source:填写上面提到的数据库别名ORADB

点击Security ,点选“Be made using this security context”,假设Oracle 数据库有一个名称为admin 的用户ID,在“Remote login”中输入访问帐号,点击“OK”结束创建。

完成后Linked Servers 中会看到刚创建的Oracle 数据库链接。

访问Oracle
接下来就可以在SQL Server 端访问Oracle 数据库了,查询语法如下:
SELECT * FROM LINKED_NAME..ACCOUNT_NAME.TABLE_NAME;
结合上面的实例,假如要查询admin 用户下jobs 表的内容,则相应SQL 语句应为:
SELECT * FROM ORASVR..ADMIN.JOBS;
使用上述 *** 进行数据查询时,若Oracle 表有NUMBER 列时会出现转化错误,这时可以将NUMBER 类型转化为字符串(也有将该列属性修改成NUMBER(10),为NUMBER 列设定好位数)。考虑到View 查询等因素个人感觉还是转为字符串的方式较为通用。
当然假如查询的列过多,每个NUMBER 列都转为VARCHAR 的话工作量也的确不小,这时更好的 *** 就是使用OPENQUERY 函数:
SELECT * FROM OPENQUERY(LINKED_NAME,'SELECT * FROM TABLE_NAME');
按照OPENQUERY 的语法上面SQL 语句应变为:
SELECT * FROM OPENQUERY(ORASVR,'SELECT * FROM JOBS');
这样我们就可以在SQL Server 端方便的访问Oracle 数据库,并做相应的数据调整。
原文标题:通过SQL Server 2008 访问Oracle 10g
链接:http://www.cnblogs.com/gnielee/archive/2010/09/07/access-oracle-from-sqlserver.html
扫描二维码推送至手机访问。
版权声明:本文由2345好导航站长资讯发布,如需转载请注明出处。
Windows 7系统可以对每个文件夹进行个性化视图设置,可以根据自己的个人喜好和实际需要更改文件或文件夹图标的大小,或者让文件或文件夹以列表、平铺等方式显示。但是,假如你对N个文件夹视图进行了风格各异的个性设置,现在又想让所有文件夹都使用同一种视图怎么办呢 手工一个一个修改,你OUT了,非累得手抽...
1月13日消息,微软今天为Windows 7(SP1)用户重新推送了编号为KB2952664的更新补丁,该更新在官方KB知识库中的描述为“Windows 7系统升级兼容性更新”,用于帮助微软改进当前版本系统,提升升级到最新版Win10系统的体验。 这项更新还用于在系统中显示Windows10更新提...
Ubuntu挂载U盘问题 复制代码代码如下: 老是说special device /dev/sdb1 does not exist,无比郁闷 复制代码代码如下:#fdisk /dev/sda 复制代码代码如下: 是有个 这个咚咚。。。。 复制代码代码如下: 最后: 复制代码代码如下:...
Ubuntu系统操作中,因为开发Gis应用程序的需要,要在Ubuntu系统中安装Mapnik工具包,那么要如何安装Mapnik工具包呢?下面小编就给大家介绍下Ubuntu安装Mapnik工具包的步骤,感兴趣的朋友可以来了解下。 卸载旧的: sudo apt-get purge libmapn...
exfat是U盘的文件系统,很多系统都支持exfat格式的使用,但Ubuntu系统并不支持exfat格式,要如何处理呢?下面小编就给大家介绍下Ubuntu14.04不支持u盘exfat格式的解决方法,一起来了解下吧。 很多用户都想知道为什么要U盘使用exfat格式呢?主要有以下两种原因: 1...
1.系统还原 简单地讲,当我们安装应用软件、硬件驱动或进行系统设置时,Windows会首先将当前系统的状态记录下来,形成一个备份。今后,假如系统工作不正常了,可将整个系统恢复到备份时的状态。这一功能貌似不错,但在Windows XP及以前的系统中,真正使用过这一功能的人却并不多,究其原因:还原需要...