DM7与DM8之间通过ODBC创建DBLINK实现跨库访问
环境信息:
IP地址 | 数据库版本 |
---|---|
192.168.10.10 | DM7 V7.6.0.142-Build(2019.03.12-103811)ENT |
192.168.10.13 | DM8 1-1-190-21.04.16-137954-ENT Pack4 |
创建从dm7到dm8的DBLINK,以下配置均在dm7所在的服务器上配置
odbc的编译安装
上传odbc包并解压:
[root@localhost ~]# tar -zxvf unixODBC-2.3.9.tar.gz
[root@localhost ~]# cd unixODBC-2.3.9
配置、编译、安装,需要gcc
[root@localhost unixODBC-2.3.9]# ./configure --enable-gui=no
[root@localhost unixODBC-2.3.9]# make
[root@localhost unixODBC-2.3.9]# make install
ODBC的配置
配置odbc.ini文件
[root@localhost ~]# cat /usr/local/etc/odbc.ini
[dm8]
Description=DM ODBC DSND
Driver= DM8 ODBC DRIVER
SERVER=192.168.10.13
UID=SYSDBA
PWD=SYSDBA
TCP_PORT=5236
配置odbcinst.ini文件
[root@localhost ~]# cat /usr/local/etc/odbcinst.ini
[DM8 ODBC DRIVER]
Description=ODBC DRIVER FOR DM8
DRIVER=/home/dmdba/dmdbms/bin/libdodbc.so
切换到dmdba用户,验证
[dmdba@localhost ~]$ isql dm8
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+
SQL> quit
将ODBC目录下的所有.so文件拷贝到dm7的dmdbms/bin目录下
[root@localhost unixODBC-2.3.9]# find ./ -name *.so
./cur/.libs/libodbccr.so
./odbcinst/.libs/libodbcinst.so
./DriverManager/.libs/libodbc.so
[root@localhost unixODBC-2.3.9]# find ./ -name *.so |xargs -i cp {} /home/dmdba/dmdbms/bin
创建DBLINK
登录DM7,创建DBLINK
SQL> create link "SYSDBA"."LINK1" connect 'ODBC' with "SYSDBA" identified by "SYSDBA" using 'dm8';
操作已执行
已用时间: 6.756(毫秒). 执行号:3.
SQL> select * from dm8_test@LINK1;
行号 ID INFO
---------- ----------- ----
1 1 a
如果要从DM8访问DM7,配置步骤相同,操作都在DM8所在的服务器上配置。
达梦云适配技术社区:https://eco.dameng.com