我有两台服务器(两台服务器都在 Windows 操作系统上):
Server_A
运行 Oracle 12cServer_B
运行 SQL Server 2014
我希望这些服务器能够互相看到,所以我可以从中选择任何我想要的东西Server_A
,Server_B
反之亦然。
我只希望能够运行 SELECT 查询(不是 INSERT、UPDATE、DELETE 或任何 DDL 查询),并且如果可能的话还希望能够执行程序。
我们有什么选择或技术来解决这个问题,哪一个更好?
告诉我是否必须在每台服务器上设置我必须安装的任何软件或任何配置。
我很感激逐步解释说明。
部分答案(从 Oracle 中选择 SQL Server 表):
在 Oracle 端,您可以创建一个数据库链接来查看 SQL Server 中的数据。由于这是一个 5 步过程,因此我还包括了一些调试步骤,我在从 SQL Server 诊断数据库链接时使用这些步骤来追踪故障所在。
在 Oracle 机器上:
1) 设置到 SQL Server 的 ODBC 连接
开始 => 控制面板 => 管理工具 => 数据源 (ODBC) => 系统 DSN => 添加 => SQL Server)
调试:按下 ODBC 连接窗口中的测试连接按钮
2)创建指向ODBC连接的HS文件
在 %oracle_home%\hs\admin 中,创建一个名为
init<name>.ora
. 一个典型的 HS 文件通常只包含:调试:更改 HS_FDS_TRACE_LEVEL = ON,然后在 %oracle_home%\hs\trace 中检查相应的跟踪文件
3) 在 listener.ora 中添加一个条目
如果 SID_LIST_LISTENER 中已经存在 SID_DESC,您可以在其下方添加一个新的。
调试:检查监听器日志
c:> lsnrctl 重新加载
4) 添加一个 TNSEntry
调试
c:\> tnsping <tns entry name>
5)创建数据库链接
调试:
SQL> select * from dual@<dblinkname>;
在 10g 之前,我们曾经能够简单地
create database link <name> using '<tns entry>';
但是connect as identified by
从 11g 开始该部分成为必需的,即使您输入的任何内容都没有使用(因为它在 ODBC 连接中使用 SQL Server 的登录凭据)。它有点老了,但是当我学习这个过程时,我发现以下教程非常有用:Installing and configure Oracle Heterogeneous Services for SQLServer。
一旦数据库链接正常工作,在 Oracle 端,您就可以在 SQL Server 表上创建视图/同义词/物化视图(仅完全刷新)以便于访问。
至于其他方式(如何从 SQL Server 查看 Oracle 中的数据),我不确定,因为我只是 Oracle DBA ...