达梦8之间通过ODBC创建DBLINK

环境信息:

实例名IP地址
DMSERVER1192.168.56.110
DMSERVER3192.168.56.120

创建从DMSERVER1到DMSERVER3的DBLINK,以下配置均在DMSERVER1实例所在的服务器上配置

1、odbc的编译安装

上传odbc包并解压:

[root@localhost upload]#  tar -zxvf unixODBC-2.3.0.tar.gz
[root@localhost upload]#  cd unixODBC-2.3.0

编译ODBC,需要gcc环境

root@localhost unixODBC-2.3.0]#  ./configure --enable-gui=no
[root@localhost unixODBC-2.3.0]#  make
[root@localhost unixODBC-2.3.0]#  make install

查看ODBC版本:

[root@localhost unixODBC-2.3.0]#  odbc_config --version
2.3.0

2、ODBC的配置

查看ODBC配置文件的路径

[root@localhost ~]#  odbcinst -j
unixODBC 2.3.0
DRIVERS............: /usr/local/etc/odbcinst.ini
SYSTEM DATA SOURCES: /usr/local/etc/odbc.ini
FILE DATA SOURCES..: /usr/local/etc/ODBCDataSources
USER DATA SOURCES..: /root/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8

配置ODBC文件:
odbc.ini和odbcinst.ini

[root@localhost ~]# cat /usr/local/etc/odbc.ini 
[dm8]
Description=DM ODBC DSND
Driver= DM8 ODBC DRIVER
SERVER=192.168.56.120
UID=SYSDBA
PWD=SYSDBA
TCP_PORT=6236

[root@localhost ~]# cat /usr/local/etc/odbcinst.ini 
[DM8 ODBC DRIVER]
Description=ODBC DRIVER FOR DM8
DRIVER=/opt/dmdbms/dmdbms/bin/libdodbc.so

切换到dmdba用户下:

[dmdba@localhost ~]# isql dm8
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL>

查看实例名,是我们配置相对应的实例名,配置成功

SQL> select name from v$instance;
+---------------------------------------------------------------------------------------------------------------------------------+
| NAME                                                                                                                            |
+---------------------------------------------------------------------------------------------------------------------------------+
| DMSERVER3                                                                                                                       |
+---------------------------------------------------------------------------------------------------------------------------------+
SQLRowCount returns 1
1 rows fetched

3、登录DMSERVER1实例创建通过odbc的外部连接

SQL> create link "SYSDBA"."LINK8" connect 'ODBC' with "SYSDBA" identified by "SYSDBA" using 'dm8';
操作已执行
已用时间: 8.204(毫秒). 执行号:900.
SQL> select * from dblinktest2@LINK8;

行号     ID          NAME
---------- ----------- ----
1          1           55
2          1           55
3          1           55
4          1           55
5          1           55
6          1           55
7          1           55
8          1           55
9          89          ghhj
10         89          ghhj
11         89          ghhj

行号     ID          NAME
---------- ----------- ----
12         89          ghhj
13         89          ghhj
14         89          ghhj

14 rows got

已用时间: 20.875(毫秒). 执行号:1000.

配置过程中遇到的问题及解决方法:

SQL> select * from dblinktest2@LINK8;
select * from dblinktest2@LINK8;
第1 行附近出现错误[-2245]:DBLINK加载库文件失败.
已用时间: 0.462(毫秒). 执行号:0.

将解压后的ODBC目录下的所有.so文件复制到…/dmdbms/bin目录下,再次查询,成功!

[dmdba@localhost unixODBC-2.3.0]$ find ./ -name *.so
./DriverManager/.libs/libodbc.so
./cur/.libs/libodbccr.so
./odbcinst/.libs/libodbcinst.so

[dmdba@localhost unixODBC-2.3.0]$ cp ./DriverManager/.libs/libodbc.so /opt/dmdbms/dmdbms/bin
[dmdba@localhost unixODBC-2.3.0]$ cp ./cur/.libs/libodbccr.so /opt/dmdbms/dmdbms/bin
[dmdba@localhost unixODBC-2.3.0]$ cp ./odbcinst/.libs/libodbcinst.so  /opt/dmdbms/dmdbms/bin

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值