dbeaver连接Oracle中文乱码的解决方案--druid

前言:

  dbeaver是一个优秀的通用数据库客户端连接工具,最重要的是社区版一直是开源免费。但是在连接服务端的WE8ISO8859P1字符集时,表中的数据中文查询出来显示为乱码,无论怎么修改参数都没用。

 邀月工作室

 

方法一:

在PL/SQL的前面设置字符集:

set NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1
startup plsql.exe

邀月工作室

方法最佳,但PL/SQL 毕竟是收费的。

 

方法二:

在sqlplus命令前设置字符集:

set NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1

邀月工作室

 

方法三:使用druid,参考https://my.oschina.net/joshuazhan/blog/122591

步骤:

1、下载druid,开源免费,“阿里巴巴计算平台事业部出品,为监控而生的数据库连接池”。

https://repo1.maven.org/maven2/com/alibaba/druid/1.1.23/

邀月工作室

2、将下载的druid-1.1.23.jar、ojdbcXX.jar加入到驱动。本人偷懒直接用dbeaver下载的ojdbc8-12.2.0.1.jar

邀月工作室

 

3、新增加一个驱动,如下:

 类名:com.alibaba.druid.proxy.DruidDriver

驱动模板:jdbc:wrap-jdbc:filters=encoding:name=dbeaver:jdbc:oracle:thin:@{host}[:{port}]/{database}

连接参数:

clientEncoding:GBK

serverEncoding:ISO-8859-1

 

邀月工作室

邀月工作室

 

3、测试连接,成功!

邀月工作室

 

4、在SQL中查询,结果已正常显示中文。

邀月工作室

 

5、周围显示的红色代表是在生产环境,绿色的代表开发环境,以提醒操作人员。

邀月工作室

 

 

小结:druid没有原生的jdbc驱动强大,但它确实解决了字符集不匹配的问题,也是一个很好的免费解决方案。如果默认没有字符集不匹配的情况,直接用原生的Oracle驱动即可。

 

参考:

https://my.oschina.net/joshuazhan/blog/114194

https://my.oschina.net/joshuazhan/blog/122591

https://github.com/alibaba/druid/

https://repo1.maven.org/maven2/com/alibaba/druid/1.1.23/

 

posted @ 2020-07-17 12:44  邀月  阅读(5197)  评论(0编辑  收藏  举报