背景:
用户需要的数据存放到sqlite数据库文件,拷贝数据库文件,安装客户端可以访问具体数据(oracle应该不可以)
首先遇到问题为中文乱码,查找资料发现sqlite的字符集默认为UTF-8(查询命令忘记了)
使用的抽取工具为KETTLE 4.1(5.2)
1.将linux下的xxx.db数据库文件拷贝到工作机(windows)
2.安装sqlite(windows)客户端
3.启动kettle抽取数据文件
选择表输入控件,建立数据库连接,选择连接类型 Generic database ,连接方式Native(jdbc)
自定义连接URL
jdbc:sqlite:C:/gh.db
自定义驱动类型
org.sqlite.JDBC
保存测试成功
网上没有查找到远程连接
jdbd:sqlite:remote_ip/gh.db
谁知道可以告知吗?
由于源头和目标表的数据库的字符集不同,一个是utf-8,另一个是gbk
导致目标表的中文为乱码
首先在表输入的下方选择“允许简易转换”
测试数据,数据测试成功
4.迁移问题
数据库文件在linux服务中(不会配置远程),在linux中安装kettle服务器
将方案配置后发现是乱码,选择“字段选择”控件,在字符集中选择gbk,测试成功
5.升级为数据库kettle
之前都是用kettle文件服务器调度数据抽取 现在要求是使用公司的产品调度kettle
调度中需要 数据库kettle,迁移方案后发现,上面配置又变为乱码。
方案
数据库------->文件-------->数据库
在文件中设置为gbk,中文数据不再是乱码
迁移了几次,改了几次方案,但是不知道具体原因,是因为各个服务器的字符集吗?
文件服务器和数据库服务器中是否也有编码问题?