Oracle数据库毗连并访问Microsoft SQL Server数据库
Oracle数据库毗连并访问Microsoft SQL Server数据库说明:
1.实际开辟中,Oracle数据库与SQLServer数据库之间可能需要相互举行访问,方便业务数据抽取,编写视图及表等操纵。
2.SQLServer访问Oracle数据库设置相对较为简单,但是Oracle数据库访问SQLServer数据库相对来讲较为复杂,需要安装相关软件以及设置相关文件。本案例使用Oracle官网提供的gateways来演示操纵。
注意:笔者操纵体系情况为RHEL9,数据库为Oracle19C.案例中毗连的SQLServer数据部署在Windows体系中。本案例同样实用于Oralce毗连其他范例数据库,而且同操纵体系关系不大,Windows体系中大同小异!
操纵步骤:
1.下载gateways
https://img-blog.csdnimg.cn/direct/94057b39aa9e42ffaf6943a250754797.png#pic_center
2.上传gateways并解压
3.安装(注意:为了防止安装乱码,安装报错,需要将体系语言临时修改,临时修改RHEL体系版本为9.0`)
export CV_ASSUME_DISTID=RHEL8.0
export LANG=en_US
https://img-blog.csdnimg.cn/direct/138a3a2d4af744ca820aecd015a7c9d1.png#pic_center
https://img-blog.csdnimg.cn/direct/27fd6804df6941a492b28965d2aded49.png#pic_center
https://img-blog.csdnimg.cn/direct/6e85a49f46d8474ab7dc25bb0962cb88.png#pic_center
注意:上图中SQLServer数据库地址是必填的,其他三项可以临时不用填写,之后可以修改相应设置文件后见效。
https://img-blog.csdnimg.cn/direct/97b0ba3be45548c5aabf2d6d95492571.png#pic_center
https://img-blog.csdnimg.cn/direct/b9c3dd943b9a4dfc99b074c2b10b0287.png#pic_center
4.查看(设置)initdg4msql.ora文件(因为部署的时间已经设置过了,所以initdg4msql.ora文件中不需要重复设置,如果部署的时间只填写了SQLServer服务器地址,则需要按照以下格式书写)
# 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=:1433//UFDATA_999_2023
# alternate connect format is hostname/serverinstance/databasename
HS_FDS_TRACE_LEVEL=OFF
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER
5.设置Oracle中的listener.ora文件(可以按如下格式书写,也可以将/u01/app/oracle/product/19.3.0/dbhome_1/dg4msql/admin/listener.ora.sample文件中的内容复制到Oracle的listener.ora文件中)
https://img-blog.csdnimg.cn/direct/2c685b6397bb49a5922cb07d0eca6222.png#pic_center
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = orcl)
(ORACLE_HOME = /u01/app/oracle/product/19.3.0/dbhome_1)
(SID_NAME = orcl)
)
(SID_DESC=
(SID_NAME=dg4msql)
(ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1)
(PROGRAM=dg4msql)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = Java)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
6.设置Oracle中的tnsnames.ora文件(可以按如下格式书写,也可以将/u01/app/oracle/product/19.3.0/dbhome_1/dg4msql/admin/tnsnames.ora.sample文件中的内容复制到Oracle的tnsnames.ora文件中)
注意:该设置文件中必须填写Oracle服务器计算机名!
https://img-blog.csdnimg.cn/direct/e2943682f285433b84a8344c074f9449.png#pic_center
# tnsnames.ora Network Configuration File: /u01/app/oracle/product/19.3.0/dbhome_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
LISTENER_ORCL =
(ADDRESS = (PROTOCOL = TCP)(HOST = Java)(PORT = 1521))
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = Java)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
dg4msql=
(DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)(HOST=Java)(PORT=1521))
(CONNECT_DATA=(SID=dg4msql))
(HS=OK)
)
7.重启监听
https://img-blog.csdnimg.cn/direct/eb52f37b4e90448f8f1d5b55bd5954c7.png#pic_center
7.创建数据库毗连
# dg4msql是在Oracle服务器上配置的ODBC数据源名称。
# sa和password是用于连接到SQL Server的凭据.
# gl_accvouch是SQL Server上访问的表的名称
CREATE DATABASE LINK hrpsv665
CONNECT TO "sa" IDENTIFIED BY "password"
USING 'dg4msql';
# 查询示例
SELECT * FROM gl_accvouch@hrpsv665;
https://img-blog.csdnimg.cn/direct/ab8c6c07be394c6390cd7a13e068e589.png#pic_center
https://img-blog.csdnimg.cn/direct/e9234ffdf825460cadc41e3e7f32f40b.jpeg
https://img-blog.csdnimg.cn/direct/2739e6344c3548a392d566ade2b80cd7.png
https://img-blog.csdnimg.cn/direct/f07bf4d4779c407b9ff13141dd30ce5a.png
注意:查询语句中如果想要过滤字段,无论是按特定字段查询照旧条件查询中的字段,必须要加双引号,否则提示字段无效!
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]