声明:本实验主要是验证不同数据库不同字符集相互操作是否会有乱码,结果是没有乱码
磐维GBK到oracle
1、安装 JDK1.8,并配置好 JAVA_HOME 环境变量。
2、数据库环境变量 LD_LIBRARY_PATH 动态库路径加入 JAVA_HOME 配置。
通过如下命令配置环境变量:
x86:export LD_LIBRARY_PATH=$GAUSSHOME/jre/lib/amd64/server/:$LD_LIBRARY_PATH
ARM:export LD_LIBRARY_PATH=$GAUSSHOME/jre/lib/aarch64/server/:$LD_LIBRARY_PATH
3、修改数据库配置参数:在 shared_preload_libraries 参数配置中加上jdbc_fdw,然后重启数据库。
4、驱动包 ojdbc7.jar 放置到$GAUSSHOME/lib/postgresql/下并执行如下命令授权
chmod 777 $GAUSSHOME/lib/postgresql/ojdbc7.jar
create extension jdbc_fdw;
create public database link ora_gbk connect to fdw identified by 'xx' using jdbc_fdw( url 'jdbc:oracle:thin:@//10.230.xx.xx:1688/xx', jarfile '/intdata/panweidb/app/lib/postgresql/ojdbc7.jar' );
磐维本地查询oracle目标端:

本地插入数据后查询正常

磐维UTF8到oracle
本地创建dblink,对目标库表进行插入数据
create public database link ora_utf8 connect to fdw identified by 'XX' using jdbc_fdw( url 'jdbc:oracle:thin:@//xx.xxx.xx.xx:xxxx/xxxx', jarfile '/intdata/panweidb/app/lib/postgresql/ojdbc7.jar' );

本地磐维显示正常
目标库显示正常

磐维到磐维(UTF8-GBK)

目标库创建表
create table oracle.link_u2g (id int,name varchar(10));
CREATE TABLE
本地通过database link查询和插入数据:

正常
目标端查询数据:

磐维到磐维(GBK-UTF8)
本地

插入数据,查询无乱码

目标端

实验证明,database link可以正常操作oracle,panwei的数据,无乱码。




