相关软件包下载:
wget https://packages.microsoft.com/rhel/7/mssql-server-2019/mssql-server-15.0.4073.23-4.x86_64.rpm
工具包:
wget https://packages.microsoft.com/rhel/7/prod/msodbcsql17-17.6.1.1-1.x86_64.rpm
wget https://packages.microsoft.com/rhel/7/prod/mssql-tools-17.6.1.1-1.x86_64.rpm
对一个连接数据库的查询,select * from “tablename”@linkdbname;oracle首先从linkdbname开始,通过dba_db_links表查到建表时所属于的tnsname;
然后在tnsnames.ora中找到tnsname对应的sid;接着在lisener.ora中找该SID所对应的应用程序(如:PROGRAM=dg4msql或PROGRAM=dg4odbc),
而且这个程序到哪找,就要注明oracle_home(ORACLE_HOME=/opt/oracle/product/gw);找到程序之后,
oracle会在程序所在目录的admin子目录下找到init
[msql]
Description = ODBC for sqlserver
Driver = SQLServer
Server = 192.168.56.101
Port = 1433
User = ‘sa’
Password = 1qaz@WSX
Database = TestDB
[测试环境]
Oracle 服务器
操作系统:Red Hat Enterprise Linux Server release 7.4 (Maipo)
软件版本:Oracle 19.3
主机地址:192.168.56.101
监听端口:1521
网关和oracle在同一台,也是19.3,此数据库安装网关时未安装监听。
sqlserver 服务器
操作系统:Red Hat Enterprise Linux Server release 7.4 (Maipo)
软件版本:Microsoft SQL Server 2019 (RTM-CU8) (KB4577194) - 15.0.4073.23 (X64)
主机地址:192.168.56.101
服务端口:1433
数据库名:TestDB
用户密码:sa/1qaz@WSX
[配置]
1 sqlserver 服务器
安装并创建相关数据库,使用远程测试,确保远程连接正常。
2 Oracle 服务器
2.1 安装相关包
安装 unixODBC 软件包
yum -y install unixODBC*
yum localinstall msodbcsql17-17.6.1.1-1.x86_64.rpm
安装该应用包
2.2 下载mos上的数据库版本对应版本的gateway
2.3 安装gateway 填写相应信息,此步略过txt不支持截图,步骤很简单
2.4 相关配置文件
ORACLE_HOME/dg4msql/admin 下: 】[19c@rhel7 admin] cat initdg4msql.ora
This is a customized agent init file that contains the HS parameters
that are needed for the Database Gateway for Microsoft SQL Server
HS init parameters
HS_FDS_CONNECT_INFO=[192.168.56.101]:1433//TestDB
alternate connect format is hostname/serverinstance/databasename
HS_FDS_TRACE_LEVEL=OFF
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER
2.5 监听配置文件
[19c@rhel7 admin]$ cat listener.ora
LISTENERMS =
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=tcp)(HOST= 192.168.56.101)(PORT=6666))
)
SID_LIST_LISTENERMS=
(SID_LIST=
(SID_DESC=
(SID_NAME=dg4msql)
(ORACLE_HOME=/19c/database)
(ENVS=“LD_LIBRARY_PATH=/usr/local/lib:/usr/lib64:/19c/database/dg4msql/lib”)
(PROGRAM=dg4msql)
)
)
2.6 tnsname文件
[19c@rhel7 admin]$ cat tnsnames.ora
dg4msql =
(DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.56.101)(PORT=6666))
(CONNECT_DATA=(SID=dg4msql))
(HS=OK)
)
2.7 创建dblink 并访问
SQL> create PUBLIC DATABASE LINK dg4msql connect to “test” identified by “123456” using ‘dg4msql’;
Database link created.
SQL> select * from “t1”@dg4msql;




