oracle 链接 sqlserver 链接服务器
1.下载驱动包
base包:instantclient-basic-windows.x64-11.2.0.3.0.zip
ODBC包:instantclient-odbc-windows.x64-11.2.0.3.0.zip
我下载的是11.2.0.3版本的,两个包的版本必须要一致才行。http://www.oracle.com/technetwork/topics/winx64soft-089540.html
2.解压安装
解压上面两个包,把解压后的文件放在同一个目录(合并),注意2个包解压后的所有文件必须放在一个目录下,假设是D:\\instantclient_11_2
使用管理员权限打开CMD,进入该目录,运行odbc_install.exe进行安装。
提示安装成功后,运行64位ODBC驱动配置程序“C:\windows\SysWOW64\odbcad32.exe”
注意:64位系统的odbcad32.exe的目录应该在SysWOW64。
不出意外,ODBC的驱动已经安装成功了,打开ODBC数据源管理器就可以看到已经有ODBC驱动程序项:
3.选择ODBC配置DSN,如下图,可以根据实际的情况天下Oracle ODBC Driver Configuration。
测试连接成功后,就可以使用ODBC连接数据库了,Enjoy it!
加一句,我使用的ADO来封住ODBC连接。ODBC连接串测试成功和能够使用的是:Provider=MSDASQL.1;Persist Security Info=False;User ID=avls;Password=1;Data Source=orcl;
还有发一个Oracle ODBC连接串汇总:http://www.connectionstrings.com/oracle/ 那么多人贡献真好!
再说一句:配置Oracle ODBC驱动必须需要配置环境变量,就是让驱动能够找到D:\instantclient_11_2\NETWORK\ADMIN 下面的tnsnames.ora tnsnames.ora文件包含了连接Oracle服务器的连接串;
只需要配置ORACLE_HOME环境变量的值为D:\instantclient_11_2即可。已经经过测试,嘻嘻。谢谢,不用夸奖,有用得很。
关于环境变量,还有一个需要进行配置的就是ODBC驱动的语言设置,NLS_LANG:SIMPLIFIED CHINESE_CHINA.ZHS16GBK 目前测试可以解决SQL通过ODBC查询中文乱码的问题
配置环境变量,打开系统属性选择环境变量(系统变量添加TNS_ADMIN)
具体值: --注:该变量主要是读取ADMIN文件夹下的tnsnames.ora文件
TNS_ADMIN=G:\oracle odbc\instantclient_12\instantclient_12_1\network\ADMIN
(4)修改tnsnames.ora,如下图红色方框标记的改成你自己要远程链接的服务器IP地址 及SID,点击保存
(1)=数据源驱动要连接的数据库IP地址
(2)=数据库的SID
(3)=数据源驱动稍后选择的TNS Service Name
创建ODBC数据驱动(该驱动安装完应该是从C:\Windows\SysWOW64\odbcad32.exe)
打开数据源驱动-》选择系统DSN-》点击添加-》选择Oracle驱动-》点击完成
6)配置数据源驱动
配置Data Source Name(稍后在数据库中创建连接服务器要用,命名按照你数据源用途来命名最好) 、
TNS Service Name(tnsnames.ora的节点名) 、User ID(数据库帐号)
配置完相关属性之后 点击“Test Connection”测试连接是否成功
注:当出现 ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务时,
请首先确保tnsnames.ora配置信息是正确的,
然后打开cmd 执行指令:先执行 lsnrctl stop (先关闭监听服务),然后lsnrctl start (开启监听服务)
成功的画面
在SQL sever 中配置对Oracle 的链接服务器,点击SQL server -》新建链接服务器
(1)=访问接口选择 Oracle 驱动
(2)=填写刚刚在 ODBC数据源驱动中创建的Oracle 数据源名称
(3)=填写SID
然后选择安全性选项-》设置远程登录密码,具体采用什么模式看大佬们自己的心情,哈哈哈!
注:在数据源创建成功的情况下还出现
ORA-12154: TNS:could not resolve the connect identifier specified错误
则重启一下 server 服务即可
链接服务器创建成功之后执行查询报以下错误时处理方法-》选择链接服务器-》选择访问接口-》选择OraOLEDB
-》启用允许进程内点击确定-》重启SQL server服务
执行到这一步就可以对oracle数据库进行操作了
在执行对新建连接服务器的增删改查时可能会出现以下问题
该问题的处理方法:
(1)点击链接服务器节点下的访问接口
(2)选择报错的访问接口
(3)右键属性-》启用允许进程内
(4)重启server 服务 使允许进程内选项生效
(5)执行到这一步就可以查询了