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,新建一个驱动。
配置驱动内容,主要如下,其余配置可任意指定。
驱动类 |
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链接。
配置基本的链接参数,数据库的域名、端口、库名等信息会自动填入链接URL中。
在Advanced标签下配置链接参数,给Druid指定客户端和服务端的编码参数。
2.3. 连接数据库
配置好链接后,即可在DBeaver中使用Druid链接Oracle了,以下是效果,中文都已能正常显示。
3. 对比与不足
由于Druid对Oracle驱动做了一层代理,只提供JDBC的基本接口,使得DBeaver无法查看和使用Oracle中的很多功能,不过对于日常的基本数据操作已经足够。下面是使用原生驱动和Druid的效果。
- 原生Thin驱动,除了显示数据库Schemas外,还有很多数据库的元信息,每个Schema都能看到完整的内容。
- Druid驱动,只有基本信息,功能远比原生驱动弱。
来源:oschina
链接:https://my.oschina.net/u/101917/blog/122591