DM-DBLINK
环境准备
服务器 | Windows | Linux | Linux | Linux |
数据库 | DM8 | DM8 | Oracle11g | Dameng |
IP | 192.168.0.1 | 192.168.0.21 | 192.168.0.21 | 192.168.0.21 |
端口 | 5236 | 5236 | 1521 | 3306 |
MAL端口 | 5282 | 5283 |
DM – DM
通过 MAL_INI 创建 dblink
1.1.1 开启 MAL
select SF_GET_PARA_VALUE (2,'MAL_INI');
SP_SET_PARA_VALUE (2,'MAL_INI',1);
或 vim dm.ini
MAL_INI = 1
1.1.2 编辑 dmmal.ini
[mal_inst1]
mal_inst_name = DMSERVER
mal_host = 192.168.0.1
mal_port = 5282
[mal_inst2]
mal_inst_name = DM
mal_host = 192.168.0.21
mal_port = 5283
1.1.3 重启数据库,创建DBLINK
create or replace public link DML2 connect 'DAMENG' with "SYSDBA" identified by "******" using '192.168.0.21/5283';
通过DPI 创建dblink
create or replace public link DML1 connect 'DPI' with "SYSDBA" identified by "******" using '192.168.0.21:5236';
DM – Oracle
WINDOWS的DM8,通过OCI创建dblink
2.1.1 解压oracle数据库 winx64_12201_client.zip
2.1.2 配置环境变量
确保 cmd ,sqlplus 可以登陆。
2.1.3 创建dblink
create or replace public link DMO1 connect 'ORACLE' with "SYSTEM" identified by "******" using '192.168.0.21:1521/ora11g';
select * from t1@DMo1
2.2 LINUX的DM8,通过OCI创建dblink
2.2.1 服务器下已安装oracle数据库,只需要修改dmdba下.bash_profile
2.2.2 如果没有安装oracle,则需要下载
unzip /soft/instantclient-basic-linux.x64-11.2.0.4.0.zip -d /opt/oracle
2.2.3 如果Instance Client安装包是18.3之前的版本,还需要创建几个动态库的软链接
cd /opt/oracle/instantclient_11_2
ln -s libclntsh.so.11.1 libclntsh.so
ln -s libocci.so.11.1 libocci.so
2.2.4 修改dmdba用户下的.bash_profile文件,添加如下内容
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/opt/oracle/instantclient_11_2"
2.2.5 重启数据库,创建dblink
create or replace public link DMO1 connect 'ORACLE' with "SYSTEM" identified by "******" using '192.168.0.21:1521/ora11g';
3 DM – MYSQL
3.1 在达梦数据库安装mysql-odbc
https://repo.mysql.com/yum/mysql-connectors-community/el/7/x86_64/
yum install -y mysql-connector-odbc-5.3.9-1.el7.x86_64.rpm
3.2 查看odbc版本
odbc_config --version
查看ODBC配置文件存放的位置
odbc_config --odbcini
odbc_config --odbcinstini
odbcinst -j
3.3 配置odbc文件
odbc.ini 的 Driver = odbcinst.ini 头名字
[root@ora11g ~]# cat /etc/odbcinst.ini
[MySQL ODBC 5.3 Unicode Driver]
Driver=/usr/lib64/libmyodbc5w.so
UsageCount=1
[root@ora11g ~]# cat /etc/odbc.ini
[mysqlodbc]
Driver = MySQL ODBC 5.3 Unicode Driver
SERVER = 192.168.0.21
PORT = 3306
USER = bingo
PASSWORD = 123456
CHARSET= gbk
DATABASE= bingo
OPTION = 3
TRACE = OFF
3.4 测试是否可连接mysql
isql -v mysqlodbc
注意:
Mysql 需要开启 ssl 功能。
3.5 mysql创建测试库
create database bingo; --创建测试库
use bingo; --进入测试库
create table T1(id int ,name varchar(20)); --创建dameng测试表
insert into T1 values (1,'bingo'); --插入测试数据
grant all privileges on bingo.* to 'bingo'@'%' IDENTIFIED BY '123456'; --创建远程连接的用户并设置密码
flush privileges; --重新加载权限表
3.6 DM创建dblink
create or replace public LINK dmmysql1 connect 'ODBC' with "bingo" identified by "123456" using 'mysqlodbc';




