昂捷论坛≡零售最前线≡□-技术研讨会 → [分享]SQL_Server2008链接Oracle操作手册


  共有30084人关注过本帖树形打印

主题:[分享]SQL_Server2008链接Oracle操作手册

帅哥哟,离线,有人找我吗?
zlg169
  1楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:昂捷团队↑ 帖子:8 积分:621 威望:0 精华:1 注册:2011/3/16 9:45:01
[分享]SQL_Server2008链接Oracle操作手册  发帖心情 Post By:2011/10/11 10:51:57

SQL_Server2008链接Oracle操作手册
走了好多弯路,不过终于成功了,现将正确的步骤整理如下,供大家阅览:
一、 目前SQL Server 2008 连接Oracle有两种访问接口,分别是Microsoft ODBC for Oracle(MSDAORA)和Oracle Provider for OLE DB(OraOLEDB.Oracle),这两种访问接口有本质的不同,Microsoft ODBC for Oracle是微软提供的只支持32位的SQL Server数据库,而且只支持到oracle 8i;Oracle Provider for OLE DB是甲骨文提供的支持64位的SQL Server数据库,同时也支持更高版本的Oracle数据库,Oracle Provider for OLE DB(OraOLEDB.Oracle)访问接口在安装完Oracle数据库客户端之后就可以在SQL Server 配置管理器的链接服务器访问接口里面看到。
图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看
因此,在链接SQL Server 2008和Oracle之前先确定SQL Server 2008的版本(32位or 64位)。注:这里以64位SQL Server 2008为例。
二、 安装oracle客户端软件:
1、下载oracle 11 的客户端
需要在安装有SQL_Server2008数据库的服务器上,安装oracle客户端,可以去Oracle 官网下载,下载时需要注册 http://www.oracle.com/us/solutions/midsize/112010-win64soft-094461.html, 比如“win64_11gR2_client”。
2、安装oracle 11 的客户端
下载完成后需要解压进行安装,可以根据需求去安装,一般以管理员方式安装,
图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看
里面会包括用于配置客户端设置的工具、sqlplus等一系列的工具。
图片点击可在新窗口打开查看此主题相关图片如下:3.png
图片点击可在新窗口打开查看
3、配置Oracle11客户端
3.1、手工配置
安装成功后,在Oracle 客户端安装目录下如:
F:\app\Administrator\product\11.2.0\client_2\network\admin创建一个这样的文件
tnsnames.ora ,在里面配置如下服务器的相关信息,比如
ORA8 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 210.6.1.106)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = ora8XDB)
)
)
ORA8为服务命名,HOST为服务器的IP地址,PORT为Oracle数据库的端口,SERVICE_NAME为Oracle数据库的监听服务名,监听服务名和Oracle数据库名略有不同,可以通过命令去查看,以下以Oracle数据库安装Linux服务器为例进行查看:
首先,在开始运行中键入cmd进入命令行,敲入telnet 后面跟Linux服务器地址(例如telnet 210.6.1.106)如下图(注意:Win7和Win2008默认是关闭telnet功能的,可以通过控制面板——程序和功能——打开或关闭Windows功能来开启telnet功能,如下图
图片点击可在新窗口打开查看此主题相关图片如下:4.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:5.png
图片点击可在新窗口打开查看
然后敲回车,键入Lunix服务器的用户名和密码,如下图
图片点击可在新窗口打开查看此主题相关图片如下:6.png
图片点击可在新窗口打开查看
键入用户名和密码,后敲回车便进入了Lunix服务器的命令行管理界面,如下图
图片点击可在新窗口打开查看此主题相关图片如下:7.png
图片点击可在新窗口打开查看
然后敲入Lunix服务器下命令行查看Oracle数据库监听服务的命令lsnrctl [start/stop/status],顾名思义start是开始监听服务的,stop是停止监听服务的,而这里我们只需要查看监听服务的状态,因此键入lsnrctl status就可以查看到Oracle数据库监听服务名,如下图红色标记
图片点击可在新窗口打开查看此主题相关图片如下:8.png
图片点击可在新窗口打开查看
3.2通过net manager进行配置 打开net manager工具如下图,里面有概要文件、服务命名和监听程序,概要文件里方法选取TNSNAMES即可,监听程序是在Oracle服务器端配置的,客户端不需要配置;
图片点击可在新窗口打开查看此主题相关图片如下:9.png
图片点击可在新窗口打开查看
由于论坛限制图片太多,因此转二楼(抱歉哈)
[此贴子已经被作者于2011-10-14 9:53:17编辑过]

[本帖被加为精华]
使用IE9无法添加附件的解决方法 支持(0中立(0反对(0回到顶部
帅哥哟,离线,有人找我吗?
zlg169
  2楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:昂捷团队↑ 帖子:8 积分:621 威望:0 精华:1 注册:2011/3/16 9:45:01
  发帖心情 Post By:2011/10/11 10:59:33

着重需要对服务命名进行配置,点击服务命名后,点击左边的加号,进入配置界面,如下图
图片点击可在新窗口打开查看此主题相关图片如下:10.png
图片点击可在新窗口打开查看
输入网络服务名,比如上面的ORA8或者TEST均可,只是一个名称,然后下一步,如下图
图片点击可在新窗口打开查看此主题相关图片如下:11.png
图片点击可在新窗口打开查看
选择TCP/IP协议,下一步,如下图
图片点击可在新窗口打开查看此主题相关图片如下:12.png
图片点击可在新窗口打开查看
主机名为Oracle数据库的服务器IP地址,端口号是Oracle数据库的端口号,然后下一步如下图
图片点击可在新窗口打开查看此主题相关图片如下:13.png
图片点击可在新窗口打开查看
服务名即为我们上述通过Linux命令行查看的Oracle监听服务名,这里为ora8XDB,输入之后,点击下一步,如下图进行测试
图片点击可在新窗口打开查看此主题相关图片如下:14.png
图片点击可在新窗口打开查看
点击测试,输入Oracle数据库用户名和密码进行测试,如下图
图片点击可在新窗口打开查看此主题相关图片如下:15.png
图片点击可在新窗口打开查看
点击关闭后,完成即可,便可在目录如 F:\app\Administrator\product\11.2.0\client_2\network\admin中查看tnsnames.ora文件。
三、 创建链接服务器
SQL_Server2008链接Oracle必须要在Oracle客户端配置tnsnames.ora文件,下来创建一个名称为jf的链接服务器,数据访问接口选择Oracle Provider for OLE DB,产品名称为Oracle,数据源要访问的oracle服务器上的要访问的那个数据库,然后输入访问oracle的用户名和密码,根据个人情况更改,更改执行后便可测试
exec sp_addlinkedserver @server='jf', --链接服务器名称
@srvproduct='Oracle', --数据库产品名称
@provider='OraOLEDB.Oracle', --数据访问接口
@datasrc='ORA8' --要访问的数据库名称
go
exec sp_addlinkedsrvlogin @rmtsrvname = 'jf', --链接服务器名称
@useself = 'false',
@locallogin = 'sa', --本地数据库用户名
@rmtuser = 'jrmd_join', --Oracle数据库用户名
@rmtpassword = 'jrmd_join' --Oracle数据库密码
四、 通过链接服务器访问Oracle数据库
SQL的写法有两种
1、 使用T-SQL语法:
SELECT * FROM JF..JRMD_JOIN.WFG001
注意:在这种方式下取数,如果在oracle中声明表的时候表明用了引号,此处的表明必须和oracle中一致,否则全部使用大写,不然会提示找不到表。
2、使用PLSQL语法:
select *from openquery(jf,'select *from jrmd_join.WFG001')
注意:第二种访问方式比第一种约快50%;第二种访问方式跟直连ORACLE的速度相当。
因此,使用那种语法显而易见了。

使用IE9无法添加附件的解决方法 支持(0中立(0反对(0回到顶部
帅哥哟,离线,有人找我吗?
wangxiaoxiao
  3楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:昂捷团队↑ 帖子:66 积分:1669 威望:0 精华:0 注册:2008/6/4 12:42:29
  发帖心情 Post By:2011/10/11 14:43:38

不错


使用IE9无法添加附件的解决方法 支持(0中立(0反对(0回到顶部
帅哥哟,离线,有人找我吗?
wangxiaoxiao
  4楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:昂捷团队↑ 帖子:66 积分:1669 威望:0 精华:0 注册:2008/6/4 12:42:29
  发帖心情 Post By:2011/10/14 15:21:41

补充:和版本有关

“允许进程序内”打上勾

才可以用。


使用IE9无法添加附件的解决方法 支持(0中立(0反对(0回到顶部