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/

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM