达梦8使用DBLINK

本文详细介绍了如何使用DBLINK在达梦数据库中建立连接,包括dm到dm的同平台连接设置,涉及dmmal.ini和dm.ini文件的修改及服务器重启,以及dm到oracle的跨平台配置,需要安装ORACLE OCI接口并配置连接串。内容涵盖了查询、增删改操作以及过程调用等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

支持的数据类型
 ■ 查询
 ■ 独立的增删改语句
 ■ 语句块中的增删改
 ■ 过程调用

1、dm到dm


目前只支持同平台,不支持跨平台建外部连接,两个服务器都安装了达梦数据库。并且a和b的实例名不能一样。

1)修改两个实例数据文件根目录下的dmmal.ini文件

cd /dmdata/DAMENG/
vi dmmal.ini
[mal_inst1]                             --自定义,MAL名称,同一个配置文件中MAL名称需保持唯一性
mal_inst_name = DMSERVER2               --数据库实例名,必须与dm.ini中INSTANCE_NAME一致。MAL系统中的各数据库实例不允许同名。
mal_inst_host = 192.168.1.20            --mal_inst_name 实例对外服务IP地址
mal_inst_port = 5236                    --mal_inst_name 实例对外服务端口,和dm.ini中的PORT_NUM保持一致
mal_host = 10.2.94.102                  --mal对外监听IP。使用MAL_HOST + MAL_PORT创建MAL链路
mal_port = 15236                        --mal对外监听端口(自定义),用于数据守护、DSC、MPP等环境中各节点实例之间MAL链路配置

[mal_inst2]
mal_inst_name = DMSERVER3
mal_inst_host = 192.168.1.21
mal_inst_port = 5236
mal_host = 10.2.94.103
mal_port = 15236</
### 配置达梦数据库中的DBLink以连接至Oracle #### 使用OCI接口配置DBLink 为了使达梦数据库能够通过DBLink访问Oracle数据库,推荐采用Oracle OCI(Oracle Call Interface)方式进行配置[^3]。 - **下载并安装Oracle客户端驱动** Oracle Instant Client 是实现这一目标所必需的组件之一。可以从指定网站获取适用于操作系统的最新版本Instant Client包,并按照说明完成安装过程。 - **创建监听器** 在Oracle端需建立一个监听程序来接收来自达梦数据库发出的数据请求。这通常涉及到编辑`listener.ora`文件以及启动监听服务[^5]。 - **修改tnsnames.ora文件** 此文件用于定义网络服务名与实际数据库实例之间的映射关系,在其中添加针对目标Oracle数据库的服务条目是必要的步骤之一。 ```bash # Example entry in tnsnames.ora file ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = oracle_host_ip)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl_service_name) ) ) ``` - **在达梦侧执行SQL命令创建DBLink对象** 完成上述准备工作之后,可以在达梦环境中利用如下语句构建指向远程Oracle数据库链接: ```sql CREATE DATABASE LINK dblink_oracle CONNECT TO username IDENTIFIED BY password USING 'orcl'; ``` 此处`username`, `password`代表具有适当权限的Oracle账户凭证;而`'orcl'`则是之前于`tnsnames.ora`内设定好的网络服务名称[^4]。 --- #### ODBC方式配置DBLink 对于某些特定场景下可能更倾向于使用ODBC作为中间件来进行跨平台间通信,则可考虑基于此协议实施相应设置。 - **注册ODBC数据源** 参照相关文档指导,在操作系统层面建立起名为DM_TO_ORA_DSN的新DSN资源,确保其参数正确无误地指向待接入的目标Oracle服务器实例[^1]。 - **编写连接字符串** 构建适配当前环境变量条件下的完整连接串表达式,该字符串将被用来初始化后续所有经由本路径发起的操作指令集。 ```sql CREATE DATABASE LINK dblink_odbc CONNECT TO "SCHEMA" IDENTIFIED BY "PASSWORD" USING '(DESCRIPTION=(DRIVER={Microsoft ODBC for Oracle};SERVER=//oracle_server:port/service_name))' ``` 请注意替换掉模板里的占位符部分(`SCHEMA`,`PASSWORD`)为真实的值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值