sql server 与 oracle 数据库连接

测试环境搭建学习
技术点一:   sql server 与   oracle 数据库连接
问题出现:
用的是wind7 系统, 我需要用 sqlserver 远程连接 oracle  数据库

第一步:下载 oracle 数据库客户端,并配置好TNS信息
下载64位Oracle客户端 http://download.oracle.com/otn/nt/oracle11g/112010/win64_11gR2_clsent.zip
具体操作如下:
简单说明:
在sql server 数据库上创建链接服务器,连接oracle数据库,访问接口需要设置为:“Oracle Provider for OLE DB”。
如果电脑上没有这个驱动,安装一个完整的Oracle11gR2程序是一个有效的方法,但这个64位版本的安装包有2个多G,
相当庞大,如果仅仅是为了建立链接服务器,完全没必要装这么个庞然大物。其实我们只需要下载ODAC压缩包即可。
下面总结如何注册:“Oracle Provider for OLE DB”这个驱动:

一:.注册“Oracle Provider for OLE DB”:

  1. 下载ODAC112040Xcopy_64bit.zip:
    到Oracle官方网站下载ODAC安装包。在网页上找到你要的版本。我下载的是:64-bit ODAC 11.2 Release 6 (11.2.0.4.0)Xcopy for Windows x64
    下载下来的安装包名为:
    ODAC112040Xcopy_64bit.zip 如图所示:
    在这里插入图片描述
  2. 然后打开电脑的 cmd,进入到这个文件夹。
    在这里插入图片描述
  3. 继续命令行界面进入解压文件夹后运行安装“install.bat oledb D:\OracleClient ODAC” (相对于驱动)
    在这里插入图片描述
  4. 配置环境变量
    系统环境 变量中添加一个环境变量 ORACLE_HOME,其值为你的安装路径,比如我这里就是D:\OracleClient
    同时系统环境变量中的 Path 添加“D:\OracleClient;D:\OracleClient\bin;” 如下图
    (环境变量的寻找 计算机属性-高级系统设置-高级-环境变量-系统环境变量-Path):选中“环境变量”中“系统变量”中的“Path”,点击“编辑”按钮,)
    在这里插入图片描述
    在这里插入图片描述
    5.重启计算机。
    6.补全注册表中的信息
    一:按下WIN+R,打开“运行”窗口,输入“regedit”,回车。
    在这里插入图片描述
    二: 打开的注册表编辑器的左侧按如下路径依次展开:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.1\Providers

在Providers下面一般来说是看不到OraOLEDB.Oracle这一项的,于是新建这一项。

在Providers上面右键选择 新建 -> 项,把新增加的项改名为“OraOLEDB.Oracle”
在这里插入图片描述
三:为“OraOLEDB.Oracle”这个键新增一个DWORD Value,把名字改为“AllowInProcess”
在这里插入图片描述
四: 把“AllowInProcess”的值改为“00000001”
在这里插入图片描述
五: 改好后的效果如图。修改即刻生效,现在就可以再去访问链接服务器上的Oracle数据库了。
在这里插入图片描述
1
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\OraOLEDB.Oracle]
@=“Oracle Provider for OLE DB”

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\OraOLEDB.Oracle\CLSID]
@="{3F63C36E-51A3-11D2-BB7D-00C04FA30080}"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\OraOLEDB.Oracle\CurVer]
@=“OraOLEDB.Oracle.1”

2
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\OraOLEDB.Oracle.1]
@=“Oracle Provider for OLE DB”

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\OraOLEDB.Oracle.1\CLSID]
@="{3F63C36E-51A3-11D2-BB7D-00C04FA30080}"

3
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\CLSID{3F63C36E-51A3-11D2-BB7D-00C04FA30080}]
@=“OraOLEDB.Oracle”
“OLEDB_SERVICES”=dword:ffffffff

[HKEY_CLASSES_ROOT\CLSID{3F63C36E-51A3-11D2-BB7D-00C04FA30080}\ExtendedErrors]
@=“Extended Error Lookup Service”

[HKEY_CLASSES_ROOT\CLSID{3F63C36E-51A3-11D2-BB7D-00C04FA30080}\ExtendedErrors{3FC8E6E4-53FF-11D2-BB7D-00C04FA30080}]
@=“Oracle OLE DB Error Lookup”

[HKEY_CLASSES_ROOT\CLSID{3F63C36E-51A3-11D2-BB7D-00C04FA30080}\InprocServer32]
@=“D:\OracleClient\bin\OraOLEDB11.DLL”
“ThreadingModel”=“Both”

[HKEY_CLASSES_ROOT\CLSID{3F63C36E-51A3-11D2-BB7D-00C04FA30080}\OLE DB Provider]
@=“Oracle Provider for OLE DB”

[HKEY_CLASSES_ROOT\CLSID{3F63C36E-51A3-11D2-BB7D-00C04FA30080}\ProgID]
@=“OraOLEDB.Oracle.1”

[HKEY_CLASSES_ROOT\CLSID{3F63C36E-51A3-11D2-BB7D-00C04FA30080}\TypeLib]
@="{0BB9AFD1-51A1-11D2-BB7D-00C04FA30080}"

[HKEY_CLASSES_ROOT\CLSID{3F63C36E-51A3-11D2-BB7D-00C04FA30080}\VersionIndependentProgID]
@=“OraOLEDB.Oracle”

4
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10.MSSQLSERVER\Providers\OraOLEDB.Oracle]
“AllowInProcess”=dword:00000001

(注意3里面的路径要换成你客户端安装的路径
[HKEY_CLASSES_ROOT\CLSID{3F63C36E-51A3-11D2-BB7D-
00C04FA30080}\InprocServer32]中的值:
@=“D:\OracleClient\bin\OraOLEDB11.DLL”
此值是根据你安装Oracle客户端的路径的值,必须保持一致。
首先要修改一下注册表内容(把1/2/3/4 考下来变成reg格式文件依次执行):
二: 使用 sql server 连接oracle

  1. 做完以上操作后,打开本机SQL Server Management Studio,服务器对象→访问接口,
    “访问接口”下会出现“OraOLEDB.Oracle”。 如图:
    在这里插入图片描述
  2. 修改访问接口“OraOLEDB.Oracle”的属性值,勾选“允许进程内”
  3. 在这里插入图片描述
    三 : 新建链接服务器:
    1.打开本机SQL Server Management Studio连接到本机数据库;
    2.展开“服务器对象”;
    3.选择“链接服务器”-右键-“新建链接服务器”; 如图:
    在这里插入图片描述
    4.在“新建链接服务器”的窗口里,选择“常规”;
    5.输入“链接服务器名称”(检验用英文字符名称);
    6.“服务器类型”选择“其他数据源”;
    7.“访问接口”选择“Oracle Provider for OLE DB”;
    8.“产品名称”输入“oracle”;
    9.“数据源”输入:(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.xxx.xxx)(PORT = 1521))(CONNECT_DATA = (SERVER = DEDICATED)(SERVICE_NAME = orcl)))
    其中host是oracle数据库所在的服务器的ip;
    在这里插入图片描述
    10.在“安全性”界面,勾选“使用此安全上下文建立连接”,输入“远程登录”和“使用密码”(oracle的登录名和密码):
    在这里插入图片描述
    11.“服务器选项”的界面的设置如下图:
    在这里插入图片描述
    12.查询测试“链接服务器”是否成功创建,如下图:
    SELECT * FROM OPENQUERY(链接服务器名称,‘select xxx from 表名’)
    在这里插入图片描述
发布了30 篇原创文章 · 获赞 3 · 访问量 3525

猜你喜欢

转载自blog.csdn.net/weixin_42996498/article/details/88717706