达梦是oracle么,关于达梦到oracle的dblink乱码问题

背景:

某项目oracle数据库字符集是US7ASCII

用户需要在达梦创建到oracle的dblink查询数据

采用oci方式创建连接后,发现中文乱码。https://www.cndba.cn/xisuo/article/4378

实验重现过程:

oracle创建实例,字符集选择US7ASCII

https://www.cndba.cn/xisuo/article/4378

创建表

create table test (name varchar2(50));

插入数据

insert into test values (‘中国’);

insert into test values (‘达梦’);

commit;

达梦数据库创建dblink(OCI方式)

create link orcl connect ‘ORACLE’ with “SYSTEM” identified by “oracle” using ‘192.168.56.101/orcl’;

使用dblink查询oracle数据,中文无法显示,为“?”

52f6e6ad5abdbc276b9226a4b6cce02f.pnghttps://www.cndba.cn/xisuo/article/4378

oracle中查询是正常的

fb8715d0accf079ff35b22fc6ea854bd.pnghttps://www.cndba.cn/xisuo/article/4378

而且达梦数据库设置NLS_LANG,LANG环境变量都没有效果

0bb06ea15987a5eeef8921f2e802de21.pnghttps://www.cndba.cn/xisuo/article/4378

解决方法:

使用ODBC方式,可以正常使用。

具体如下

配置oracle的ODBC

1.安装unixodbc

yum install unixODBC unixODBC-devel

安装后查看:

fd42a17016c36898b7c0a95cd4fca8f6.png

2.将oracle的odbc驱动放到达梦服务器上,配置odbc.ini文件

如下:oracle部分是配置信息,其中driver为oracle的ODBC的驱动

f1985c447cca87b1a71aadb6430c98be.png

https://www.cndba.cn/xisuo/article/4378

3.测试odbc连接oracle

正常则连接成功:

7dfadcdae53395ed74a019bb892d01dc.png

可能会报错找不到libsqora.so.11.1

ldd libsqora.so.11.1

是找不到libodbcinst.so.1

需要创建软连接,安装unixODBC后会在/usr/lib64 有libodbcinst.so.2文件

使用libodbcinst.so.2文件创建软连接即可

ln -s libodbcinst.so.2 libodbcinst.so.1

4.达梦创建ODBC的dblink

create link orcl_odbc connect ‘ODBC’ with “SYSTEM” identified by “oracle” using ‘oracle’;

使用orcl_odbc 查询数据,发现是乱码:

b076717ed2c4d46d9f2c17176c59e5d8.png

https://www.cndba.cn/xisuo/article/4378

5.设置环境变量LANG为AMERICAN_AMERICA.US7ASCII

export LANG=AMERICAN_AMERICA.US7ASCII

查询正常:

72bcd03f29eb28d8cb263fc507fa602f.pnghttps://www.cndba.cn/xisuo/article/4378https://www.cndba.cn/xisuo/article/4378https://www.cndba.cn/xisuo/article/4378

版权声明:本文为博主原创文章,未经博主允许不得转载。

达梦数据库 dblink 乱码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值