DBeaver連接Oracle數據庫中文顯示亂碼

1. 背景

DBeaver是一款不錯的開源數據庫客戶端http://www.oschina.net/p/dbeaver,基本的增刪改查足夠用了。但在連接Oracle時,因爲字符編碼問題,容易產生亂碼,現可使用Druid來解決這個問題,可參考使用Druid解決Oracle Thin驅動中文亂碼,下面是詳細配置。(P.S. 不止DBeaver和Oracle,其餘客戶端和數據庫的亂碼問題均可經過Druid用相似的方式來解決) 數據庫

2. 配置

2.1. Driver配置

從Toolbar>Database>Driver Manager,新建一個驅動。
oracle

配置驅動內容,主要以下,其他配置可任意指定。 ui

驅動類
com.alibaba.druid.proxy.DruidDriver
使用Druid
連接URL
jdbc:wrap-jdbc:filters=encoding:name=dbeaver:jdbc:oracle:thin:@{host}[:{port}]/{database}
「filters=encoding」給Druid配置編碼過濾器,用於編碼轉化;
{host}、{port}和{database}則是佔位符,建立鏈接時會用到
默認端口
1521
Oracle的默認端口
類庫
/path/to/druid.jar
/path/to/ojdbc14.jar

類庫的路徑,必須提供Druid和Oracle的類 編碼

2.2. 數據庫連接配置

基於剛纔的Druid Driver,可建立新的Oracle連接。
spa

配置基本的連接參數,數據庫的域名、端口、庫名等信息會自動填入連接URL中。
.net

在Advanced標籤下配置連接參數,給Druid指定客戶端和服務端的編碼參數。
代理

2.3. 鏈接數據庫

配置好連接後,便可在DBeaver中使用Druid連接Oracle了,如下是效果,中文都已能正常顯示。
blog

3. 對比與不足

因爲Druid對Oracle驅動作了一層代理,只提供JDBC的基本接口,使得DBeaver沒法查看和使用Oracle中的不少功能,不過對於平常的基本數據操做已經足夠。下面是使用原生驅動和Druid的效果。 接口

  1. 原生Thin驅動,除了顯示數據庫Schemas外,還有不少數據庫的元信息,每一個Schema都能看到完整的內容。

  2. Druid驅動,只有基本信息,功能遠比原生驅動弱。
相關文章
相關標籤/搜索