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驱动,只有基本信息,功能远比原生驱动弱。
相关文章
相关标签/搜索