当需要在sql server数据库中查询第三方Oracle数据库的数据时,可以通过以下方法进行查询
前提预警:本机必须装有Oracle客户端
- 检查是否安装Oracle客户端,并检查TNS信息是否配置完成
1.1、 在cmd中执行 sqlplus ,没有报错并出现Oracle版本号,则表示Oracle已安装
1.2、配置TNS信息(最上面的10.0.0.130可随意定义,eg:test、orcl、qerghasd…)
130 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.130)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
- 配置ODBC数据信息
2.1、打开ODBC数据源窗口(在开始菜单中搜索或查找可找到)后找到 驱动程序(英文:driver)按图中数字顺序操作
2.2、选择用户DSN后点击右边的添加,按图中顺序操作(如果在步骤三后提示报错,应该检查Oracle是否按照成功,TNS_ADMIN和Oracle_Home环境变量是否配置正确)
2.3、配置连接信息,按图中提示进行配置 - 打开sql server数据库进行Oracle数据库连接配置
3.1、连接SQL server数据库后找到连接服务器,新建连接服务
【如果打开下图链接服务器发现没有OraOLEDB.Oracle访问接口,则点击此处跳转至这位老哥所写的教程进行手工注册相关注册表信息】
3.2、常规页中按照如图配置信息(产品名称无特定要求,数据源为TNS信息中最前面“=”号前的名称)
3.3、选择安全性页进行如图配置,之后点确定(如果点确定会报错的话,根据提示进行问题排查,大概率是Oracle安装不完全,环境变量配置不正确的问题)
- 见证奇迹
select * from openquery(SQL_ORACLE,'select sysdate from dual')
【在引号中写需要查询的Oracle数据语句,引号中的语句为Oracle格式的sql语句】
【SQL_ORACLE为步骤3.2中配置的链接服务器名称】