kettle 抽取 sqlite文件

sqlite 本身没有太多研究,因此总结可能会有问题,希望大家能够提出错误,并加以修改。


背景:


用户需要的数据存放到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,中文数据不再是乱码

迁移了几次,改了几次方案,但是不知道具体原因,是因为各个服务器的字符集吗?

文件服务器和数据库服务器中是否也有编码问题?



sqlite数据库可以认为是文件数据库,可以copy复制就可以在各个平台中运行









上一篇:postgres 异步standby 创建


下一篇:Google将于2017年下半年推出Elasticsearch云服务