视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
利用kettle组件导入excel文件到数据库
2020-11-09 14:18:21 责编:小采
文档


利用kettle组件导入excel文件到数据库 1. 实现目标 把excel文件内容导入到目标表中;然后用java调用kettle的转换。excel文件的内容只有两列,示例如下: 数据库表的结构如下: vcD4KCjxoMz4yLiAgICAgyei8xrfWzvY8L2gzPgoKPHVsPgo8bGk+CjxwPgrKudPDb3JhY2xluq/

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

1. 实现目标

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

数据库表的结构如下:

<喎?http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcD4KCjxoMz4yLiAgICAgyei8xrfWzvY8L2gzPgoKPHVsPgo8bGk+CjxwPgrKudPDb3JhY2xluq/K/b3ivvbJz828u8bJq9DQtcTX1rbOo7rBvbj2dXVpZLrNwb249s+1zbPI1cbao7s8L3A+CgoKPHA+0OjSqsn6s8l1dWlko6zV4rj21NpvcmFjbGXW0L/J0tTA+9PDU1lTX1VVSUQoKbqvyv3Ktc/Wo7s8L3A+Cgo8cCBhbGlnbj0="left">需要生成当前时间作为创建时间和修改时间,使用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

    下载本文
  • 显示全文
    专题