Win7 64位下sql server链接oracle的方法

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
简介: 继上一次mysql同步sql server后,这一次需要将Oracle同步到sql server上来,方案相似,只是在sql server链接oracle的时候费了很多时间。 一、测试环境 本方案实现的测试环境如表3-1所示。
+关注继续查看

继上一次mysql同步sql server后,这一次需要将Oracle同步到sql server上来,方案相似,只是在sql server链接oracle的时候费了很多时间。

一、测试环境

本方案实现的测试环境如表3-1所示。由于需要在 mssql上进行反复操作和测试,本次使用的mssql为本机上的,非远程。

表 31模拟测试环境

名称

版本

备注

操作系统

Win7(x64)

 

Microsoft SQL Server

2008

 

Oracle客户端

11gR2(x86)

 

Oracle服务端

-

 

PLSQL Developer

8.03(x86)

 

ODAC

112040Xcopy_64bit

 

二、主要流程

1.驱动程序的安装

如果用32操作系统,会有系统自带的Microsoft OLE DB Provider for Oracle驱动,因此不需要安装驱动程序,但如果使用的是64位系统,那么这个驱动是没有的,并且微软也不提供这个驱动的64位版本,因此,此时只能使用Oracle提供的Oracle Provider for OLE DB这个驱动,即ODAC。

ODAC安装和卸载方法:

(1)打开CMD,进入当前目录

如:CD D:\Documents\Desktop\ODAC112040Xcopy_64bit

(2)执行安装命令

如输入:install.bat all D:\OracleClient ODAC

第一个参数:all。all代表安装ODAC112040Xcopy_64bit文件夹下所有的组件和客户端。如果你不需要这么多组件,只用到其中一个,比如只用到了OLE DB组件,就可以像下面这样只安装客户端和这一个OLE DB组件:

install.bat oledb D:\OracleClient ODAC

第二个参数:D:\OracleClient。这是安装路径,根据自己的实际情况指定,路径中尽量不要有空格和圆括号。

第三个参数:ODAC。这个叫ORACLE HOME NAME,这个参数也可以自己随便指定一个字符串,不一定非得是"ODAC"。这个参数是用来写入注册表的。比如,上面这条语句执行后,会在注册表的以下位置写入:

HKLM\Software\Oracle\KEY_ODAC

这"KEY_"后面的ODAC就是你在参数中传入的那个"ODAC"

第四个参数。一般只用前三个参数就够了,在安装组件的时候会自动把它依赖的组件都安装上,但如果你只想安装指定的组件,不想装它所依赖的组件,这时才会用到第四个参数。比如:当你安装asp.net时,如果只用前三个参数,会自动把它所依赖的odp.net20和instantclient_11_2也安装上,但如果你再传入第四个参数"false",如下:install.bat asp.net D:\OracleClient ODAC false这时就只会安装asp.net,而不会把odp.net20和instantclient_11_2也装上。

(3)设置环境变量

ORACLE_HOME=D:\OracleClient

(添加一个环境变量ORACLE_HOME,其值为你的安装路径,比如我这里就是D:\OracleClient)

PATH=%ORACLE_HOME%;%ORACLE_HOME%\bin;

(在PATH环境变量中添加下面两个路径,用分号隔开:%ORACLE_HOME%;%ORACLE_HOME%\bin;)

(4)卸载ODAC的方法

用cmd进入到ODAC的安装路径下,然后运行该路径下的uninstall.bat批处理文件。这里也是要注意参数的运用。

若要卸载掉所有组件,可以这样:

uninstall.bat all ODAC或者uninstall.bat all D:\OracleClient

若要卸载掉某一个指定的组件,可以这样:

uninstall.bat oledb ODAC或者uninstall.bat oledb D:\OracleClient

2.Mssql链接Oracle方法

方法一:图形界面操作

在mssql链接服务器上右键,新建链接服务器,在弹出的对话框中填写正确的参数,如下图所示:

图 31新建链接服务器常规设置

下面是各参数的含义及填写方法:

【链接服务器名称】自定义,SQL查询语句中会使用到它

【访问接口】Oracle Provider for OLEDB,ODAC方式,如果驱动没安装好,x64位系统没有此选择项。

【产品名称】固定值,Oracle

【.登陆名称和密码】即Oracle的登陆名和密码,必填。

图 32新建链接服务器安全性设置

方法二:SQL代码操作

新建SQL查询窗口,输入并修改以下代码,执行。

--第一步,创建链接服务器

EXEC sp_addlinkedserver

@server =N'MyOracle', --链接服务器别名,自定义,后面SQL语句中会使用

@srvproduct=N'Oracle', --产品名称,固定值

@provider=N'OraOLEDB.Oracle', --驱动名称,一般为OraOLEDB.Oracle和MSDASQL,64位系统下只能是OraOLEDB.Oracle

@datasrc=N'192.168.1.60/orcl' --数据源tnsnames.ora中查看

 

--第二步,登陆链接服务器

EXEC sp_addlinkedsrvlogin

'MyOracle', --已建立的链接服务器名

false, -- 固定

NULL, --每个登陆SQL SERVER的用户使用此链接服务器,如sa

'****', --帐号(oracle)

'****' --密码(oracle)

 

-- 第三步,查询以测试链接

SELECT * FROM OPENQUERY(MyOracle, 'select * from ZQCZ.CATALOGR')

  

图 33 Mssql链接Oracle结果

相关实践学习
使用交互方式创建数据表
本次实验主要介绍如何在RDS-SQLServer数据库中使用交互方式创建数据表。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
目录
相关文章
|
6月前
|
开发框架 Oracle 关系型数据库
关于vs2008使用oracleclient链接oracle数据库报报错OCIEnvCreate 失败,返回代码为 -1,但错误消息文本不可用
用vs2008链接oracle数据库出现问题,报错OCIEnvCreate 失败,返回代码为 -1,但错误消息文本不可用,从网上找了好久方法,有两种oracle客户端文件权限,和运行vs2008以管理员身份,这些都试过了没有用,查了好久还是没有解决问题,只好换一种方式链接oracle数据了。
298 0
|
6月前
|
SQL Oracle 网络协议
.Net项目中通过ODAC方式链接Oracle数据库相关配置
.Net项目中通过ODAC方式链接Oracle数据库相关配置 一、开发环境 1.关于ODAC的链接方式 ODAC 直接使用 Oracle 调用接口 (OCI). OCI 是一种允许应用程序开发人员使用第三方开发语言存取Oracle数据服务器的过程或函数以及控制所有的SQL语句执行状态的应用程序接口。 2.使用ODAC方式的优点 使用ODAC的Net选项而无需在客户机上安装Oracle客户端来连接到Oracle.在这种情况下,ODAC仅需要TCP/IP协议的支持,从而可以创建真正的、最小的数据库应用程序。
82 0
|
10月前
|
Oracle 关系型数据库 MySQL
mycat链接oracle报错 未找到from关键字
mycat链接oracle报错 未找到from关键字
mycat链接oracle报错 未找到from关键字
|
Oracle 关系型数据库 数据安全/隐私保护
【图文】远程桌面链接:这可能是由于credssp加密oracle修正
问题场景如下:  此错误的解决方法: 1.Win+R 输入regedit打开注册表 找到对应的以下目录 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System 此时如果System下没有Cred.
5830 0
|
Oracle 关系型数据库
推荐文章
更多
推荐镜像
更多