1.1、先下载oracle的ODBC驱动 可在官网下载,也可在网盘(链接:https://pan.baidu.com/s/1RamoGrzEdnep58YF3bsXGQ 提取码:1234 )中下载 1.2、安装ODBC驱动 1.2.1、将驱动文件夹< instantclient_12_1>放置在SQL SEVER2012服务器的非中文路径中,如下图:  1.2.2、使用管理员身份打开cmd,进入< instantclient_12_1>文件夹中,并执行安装包中的安装程序<odbc_install.exe>,如下图:(这一步需要注意的是最好使用管理员cmd安装,双击虽然也能安装,但是容易出错)  1.2.3、添加环境变量(右键单击我的电脑—属性—高级选项卡—环境变量)TNS_ADMIN=D:\instantclient_12_1\network\ADMIN,环境变量的地址为安装包中network\ADMIN文件夹下,如下图:(主要是为了使用D:\instantclient_12_1\network\ADMIN路径下的tnsnames.ora文件)  1.2.4、其实在1.2.2步完成以后,可以在ODBC数据源(32位)-驱动程序中查询到该驱动,如下图: 1.3、在ODBC数据源(32位)添加系统DSN 1.3.1 前提准备:在1.2.3步中提到的tnsnames.ora文件中需要配置,配置如下:  1.3.2、添加系统DSN,步骤如下: 下一步是重中之重,添加1.3.1中tnsnames.ora配置的tns,(这一步严格按照上面的步骤来会省很多力气,不然测试连接时会报很多错。其中 [Date Source Name]、 [TNS Service Name]的两个值,在步骤3.2中会用到。 )如下 1.3.3测试连接,在test connecttion 输入目标oracle数据库的账号密码,如下代表连接正常:  二、安装oracle的ODAC驱动,用于SQL SEVER 2012 调用O2BC驱动 2.1、先下载oracle的ODAC驱动 可在官网下载,也可在网盘(链接:https://pan.baidu.com/s/1DXKHcVKlGEk3rWij4FqXfw 提取码:1234 )中下载 2.2、安装ODAC驱动 2.2.1、在SQL SEVER2012服务器上新建文件夹 2.2.2、将驱动文件夹如< ODAC112040Xcopy_64bit>放置在SQL SEVER2012服务器的非中文路径中,(注意:ODAC驱动与ODBC驱动安装不同,ODBC安装是使用其安装包直接安装;ODAC驱动安装有两个文件夹:驱动文件夹、新建的自定义保存安装文件的文件夹)如下图: 2.2.3、安装ODAC驱动,使用管理员身份打开cmd,进入驱动文件夹,并执行安装包中的安装程序,本次只安装oledb 组件:install.bat oledb D:\OracleDBAC ODAC ture,(可参考百度百科:https://jingyan.baidu.com/article/e4511cf336ce872b845eafd4.html )如下图:(这一步需要注意的是最好使用管理员cmd安装,双击虽然也能安装,但是容易出错) 2.2.4设置系统变量 ORACLE_HOME= D:\OracleDBAC (添加一个环境变量ORACLE_HOME,其值为你的安装路径,比如我这里就是D:\OracleDBAC)
PATH=%ORACLE_HOME%;%ORACLE_HOME%\bin; (在PATH环境变量中添加下面两个路径,用分号隔开: %ORACLE_HOME%;%ORACLE_HOME%\bin;) 注意:配置完环境变量后必须重启sql sever2012 服务器,不然后续会收到影响 完成后效果如下(其实2.2.3完成后就会sql sever出现下图的程序,但是要想少报错,还是要完成2.2.4步骤): 三、SQL SEVER 2012数据库上建立链接Oracle的连接 可参考:https://jingyan.baidu.com/article/27fa7326e0879246f8271fc2.html 3.1、sql sever2012 新建链接 打开Microsoft SQL Server Management Studio并以sa身份登录,在左侧的“对象资源管理器”窗口中展开“服务器对象”节点,在其下的“链接服务器”节点上右键选择“新建链接服务器…”,如图 3.2填写连接信息 在弹出的“新建链接服务器”对话框中,按照图示填写,具体填写项目说明如下:
- 链接服务器:这是链接服务器的别名,名字可以由你自己随意决定
- 服务器类型选择“其他数据源”
- 访问接口:一定要选择“Oracle Provider for OLE DB”。如果是32位系统,还可以选择“Microsoft OLE DB Provider for Oracle”,但64位系统就只能选择前者
- 产品名称:步骤1.3.2中最后一个图中[Date Source Name]的值
- 数据源:步骤1.3.2中最后一个图中[TNS Service Name]的值。
填好以后不要急着去点击“确定”按钮。
将RPC,RPC out 设置为true
3.3如果完成上面步骤后,点确定报7303错误(OraOLEDB.Oracle创建连接问题),可能是注册表的问题,需要添加注册表信息 按下WIN+R,打开“运行”窗口,输入“regedit”,回车打开注册表; 在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.1\Providers路径下添加项OraOLEDB.Oracle;
在OraOLEDB.Oracle添加值AllowInProcess,并设置值为“00000001“
Sql sever 查询语句实列: SELECT * FROM openquery(his,'SELECT * FROM opr_registration_d ')
3.4 报错提示7399解决方式 访问接口需勾选,允许进程内;
|