【问题标题】:How to connect to sql server in oracle?oracle如何连接sql server?
【发布时间】:2020-07-19 19:25:29
【问题描述】:

我有:
红帽服务器 6.9 和 oracle 11g
windows server 2012 与 sql server 2014
navicat 10

现在我已经可以在 sql server 中连接到 oracle。
使用 Navicat,Connetc to Sql Server,同时从 sql server 和 oracle 中选择。 以下 sql 语句有效:

select emp.Code, emp.Name, dpt.name
from employee emp  --sql server
left join  Ocla..DBName.department dpt on dpt.code=emp.dept_code --oracle

我想做相反的事情,但我做不到:
使用 Navicat,连接到 Oracle

select emp.Code, emp.Name, dpt.name
from department  --oracle
left join  SqlServer..MyDb.employee emp on emp.dept_code=dpt.code --sql server

uname -a

Linux XXX 2.6.32-696.el6.x86_64 

cat /etc/*release

Red Hat Enterprise Linux Server release 6.9 (Santiago)

sqlplus 系统/密码@oracle SQL> 从 v$version 中选择 *;

Oracle Database 11g Release 11.2.0.4.0 - 64bit Production
...

关注本文
https://docs.microsoft.com/zh-tw/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server?view=sql-server-ver15

[root@XXX ~]# curl https://packages.microsoft.com/config/rhel/6/prod.repo > /etc/yum.repos.d/mssql-release.repo  
[root@XXX ~]# ACCEPT_EULA=Y yum install msodbcsql17  
[root@XXX ~]# ACCEPT_EULA=Y yum install mssql-tools  
[root@XXX ~]# echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile  
[root@XXX ~]# echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc  
[root@XXX ~]# source ~/.bashrc  
[root@XXX ~]# yum install unixODBC-devel  
[root@XXX ~]# vi /etc/odbc.ini  
[root@XXX ~]# sqlcmd -S ip_address -U username -P 'password' -W -Q 'SELECT Name FROM MsSqlDb.dbo.Employee' 

(在 sql server 数据库中列出员工姓名)

好的,连接似乎有效。但是如何选择ms sql表和oracle表一起呢?

我做了一个文件,但是不知道怎么用:
[root@XXX ~]# vi /etc/odbc.ini

[MsSqlDb]
Driver=/opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.5.so.2.1
Description=MSSQL Database
Trace=Yes
Server=192.168.1.10
Port=1433
Database=MyDb

我花了一整天的时间学习......

【问题讨论】:

    标签: linux oracle


    【解决方案1】:

    您需要创建从 Oracle 到 SQL Server 的数据库链接。详细示例可以在这里找到:

    您必须(正如您已经完成的那样)安装和配置 ODBC;然后配置Oracle监听器指向ODBC数据源;创建一个 tnsnames 别名以指向侦听器/服务;最后在 Oracle 中创建一个指向 tnsnames 别名的数据库链接。

    我在这里包含了链接而不是更明确的步骤,因为列表相当长,而且我不喜欢抄袭别人的解释,即使有参考。

    【讨论】:

      猜你喜欢
      • 2014-12-28
      • 1970-01-01
      • 2011-06-17
      • 1970-01-01
      • 1970-01-01
      • 2016-11-03
      • 1970-01-01
      • 2014-07-10
      • 2012-11-17
      相关资源
      最近更新 更多