Win7 64位下sql server链接oracle的方法
2015-09-22 20:52
507 查看
继上一次mysql同步sql server后,这一次需要将Oracle同步到sql server上来,方案相似,只是在sql server链接oracle的时候费了很多时间。
表 31模拟测试环境
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
在mssql链接服务器上右键,新建链接服务器,在弹出的对话框中填写正确的参数,如下图所示:
![](http://images2015.cnblogs.com/blog/388559/201509/388559-20150926115251615-126711809.png)
图 31新建链接服务器常规设置
下面是各参数的含义及填写方法:
【链接服务器名称】自定义,SQL查询语句中会使用到它
【访问接口】Oracle Provider for OLEDB,ODAC方式,如果驱动没安装好,x64位系统没有此选择项。
【产品名称】固定值,Oracle
【.登陆名称和密码】即Oracle的登陆名和密码,必填。
![](http://images2015.cnblogs.com/blog/388559/201509/388559-20150926115253631-1198575878.png)
图 32新建链接服务器安全性设置
方法二:SQL代码操作
新建SQL查询窗口,输入并修改以下代码,执行。
![](http://images2015.cnblogs.com/blog/388559/201509/388559-20150926115257209-1459103595.png)
图 33 Mssql链接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链接服务器上右键,新建链接服务器,在弹出的对话框中填写正确的参数,如下图所示:
![](http://images2015.cnblogs.com/blog/388559/201509/388559-20150926115251615-126711809.png)
图 31新建链接服务器常规设置
下面是各参数的含义及填写方法:
【链接服务器名称】自定义,SQL查询语句中会使用到它
【访问接口】Oracle Provider for OLEDB,ODAC方式,如果驱动没安装好,x64位系统没有此选择项。
【产品名称】固定值,Oracle
【.登陆名称和密码】即Oracle的登陆名和密码,必填。
![](http://images2015.cnblogs.com/blog/388559/201509/388559-20150926115253631-1198575878.png)
图 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')
![](http://images2015.cnblogs.com/blog/388559/201509/388559-20150926115257209-1459103595.png)
图 33 Mssql链接Oracle结果
相关文章推荐
- oracle10g--使用expdp导出数据和impdp导入数据
- oracle_控制用户权限
- ORA-12520与ORA-12514(监听相关问题)
- Oracle表锁住处理
- oracle 存储过程的基本语法
- [INS-20802] Oracle Database Configuration Assistant 失败
- oracle对象的定义、执行权限
- linux下启动与关闭oracle监听与实例
- orcacle 解决违反约束问题
- win32和64位oracle客户端共存的配置方式
- Oracle 11g配置DG
- jdbc sid 与 service name 使用方法及区别
- 通过wget从oracle下载jdk 8
- oracle视图的种类和区别
- PL/SQL(oracle) 中实现两个数据库之间表的对比,提高建表效率
- Oracle数据块概念及与行之间的关系测试
- hibernate下oracle转mysql中数据类型的转换
- 安装Oracle 11g R2静默安装安装
- Oracle Database 11g Release 2 Installation on RHEL/CentOS 6.x/5.x/4.x
- Oracle中如何插入特殊字符: & 和 ' (多种解决方案)