如何通过oracle连接sqlserver数据库

来源:这里教程网 时间:2026-03-03 21:28:48 作者:

相关软件包下载: 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<sid>.ora文件,读取里面的连接信息;然后通过连接信息与non-oracle数据库通信。 [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;

相关推荐

热文推荐