频道栏目
首页 > 资讯 > 其他综合 > 正文

利用kettle组件导入excel文件到数据库

14-11-15        来源:[db:作者]  
收藏   我要投稿
利用kettle组件导入excel文件到数据库

1. 实现目标

把excel文件内容导入到目标表中;然后用java调用kettle的转换。excel文件的内容只有两列,示例如下:

数据库表的结构如下:



2. 设计分析

使用oracle函数解决上图黄色行的字段:两个uuid和两个系统日期;

需要生成uuid,这个在oracle中可以利用SYS_UUID()函数实现;

需要生成当前时间作为创建时间和修改时间,使用oracle的to_char(sysdate,’yyyy-MM-dd hh:mm:ss’)实现;

使用命名参数解决蓝色行字段

创建人及修改人的ID(两者一致)、组织ID、来源文件的ID;分别使用命名参数:

${USER_ID}、${ORG_ID}、${FILE_ID}、${FILE_NAME};

其中文件名称是读取excel步骤要使用的;

使用excel行内容作为绿色行的值

即企业名称和组织机构代码两个字段;

使用默认值作为白色行的值

3. 设计kettle的转换文件

使用excel输入步骤读取excel内容,使用执行sql脚步步骤把记录插入数据表中;

3.1. 设计步骤

从输入类别中拖动excel input步骤到工作区,从脚步类别中拖动执行sql 脚步到工作区;按shift键,从excel input步骤连接到sql脚步步骤。如下图:

3.2. 配置步骤

配置excel步骤

双击excel步骤,打开配置对话框:

配置数据库连接

记得把oracle的jdbc驱动加到kettle的lib目录中,可以测试连接。

配置执行sql脚步步骤

双击该步骤打开配置,首先选择前面配置的数据库连接,然后写insert语句。需要注意的是字符类型要用引号括起来,即使是变量或?都需要括起来。

问号的内容需要在parameters中配置对应的流字段;

因为需要执行多行,需要选中Execute for each row 选项;

因为有变量,需要选中Variable substutution选项;

3.3. 配置参数

前面分析了需要四个参数,分别在两个步骤使用到了,所以需要给转换配置四个命名参数: USER_ID、ORG_ID、FILE_ID、FILE_NAME;

双击工作区空白部分打开转换配置,输入相应的参数,也可以添加默认值,用于在kettle中进行测试使用,直到测试没有错误。

至此,在kettle的设计工作已经做完,大家可以参考这篇博客文章,关于动态查询的详细说明,地址:http://blog.csdn.net/neweastsun/article/details/39287809;

4. 在java调用转换

调用之前,需要准备上述四个参数的内容,然后把参数传给转换执行;详细内容参考这篇博客文章:

http://blog.csdn.net/neweastsun/article/details/40886841

相关TAG标签
上一篇:Oracleupdate+with的使用场景
下一篇:IIS下MySQL停止和启动的方法
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站