在用kettle进行数据库数据同步时,需要设置数据库连接信息,但是一般开发环境和生产环境数据库不一样,如果在开发阶段把数据库连接信息写死,那么在生产环境部署时又要重新打开.krt或.kjb文件重新编辑数据库连接信息。解决方法是数据库连接信息可以通过命令行参数传入,这样只需要在启动时改变一下参数就可以了。下面以配置一个简单的表输入为例来说明。

新建一个转换,数据库连接信息设置如下,注意我们都是用的变量,没有写死数据库连接信息。这里说个小插曲,如果我们定义的数据库连接没有在转换中用到,那么下次打开文件的时候这个定义的数据库连接就会消失,不得不吐槽这设计。。。

接下来我们定义一个转换,随便从数据库查点什么。

接下来在文件空白处右键,选择“转换设置”,在命名参数标签下设置我们刚才用到的4个参数。这个参数还可以设置默认值,也就是我们在命令行不指定参数值时会用默认值,设置默认值还有个好处是我们在spoon中调试时可以直接用这个默认值,不然每次我们在spoon中运行ktr文件时还要手动输入这些参数。我这里就先不设置了。

以上都设置好后,保存文件,然后输入如下命令执行即可将参数传入.ktr文件中进行使用。这里为了后期方便修改参数值,我设置了一些bat相关的变量。命令行有一个地方一定要注意,/param:"xxx=xxx"这里的双引号不能省略,我就在这里踩坑了,不加双引号参数是传递不了的。

:: kettle软件安装路径
set kettlePath=E:\zzj\apps\data-integration
:: *.kjb文件存放路径
set jobPath=E:\zzj\javaweb\ETL
:: 数据库连接url
set dbUrl=localhost
:: 数据库名
set dbName=mybatis
:: 数据库连接用户名
set dbUsername=root
:: 数据库连接密码
set dbPassword=123456
%kettlePath%\pan /file %jobPath%\test.ktr /param:"db_url=%dbUrl%" /param:"db_name=%dbName%" /param:"db_username=%dbUsername%" /param:"db_password=%dbPassword%"

执行成功

kettle通过命令行参数传递数据库连接信息相关推荐

  1. python命令行输入参数_Python3.x那些事儿:[3]命令行参数传递

    用命令行调用python脚本的时候,如果想往脚本中传递参数的时候,参数会被python解释器接受转化为一系列的字符串,放在sys模块中的argv列表中,因此可以使用argv[0]来引用第一个参数,以此 ...

  2. python中如何定义函数的传入参数是option的_python – 当使用@ click.option将命令行参数传递给函数时,如何返回值?...

    我试图使用 click python包将命令行参数传递给函数.官方文档中的示例如解释的那样工作.但是文档中没有提到如何返回值.文档中没有任何函数返回值,因此我不明白如何执行此操作. 以文档为例: im ...

  3. kettle使用命令行的方式执行多个job_手把手教你实现xxl-job分布式任务调度平台搭建

    编辑:业余草 推荐:https://www.xttblog.com/?p=5097 最近有网友咨询我 xxl-job 相关的问题,我认为官方文档已经写的非常详细了,这里我再给大家写一个入门级的 3 分 ...

  4. R 包 optparse 之命令行参数传递

    对于经常与 Linux 打交道的生物信息分析童鞋们,我们今天分享一下怎么在命令行下通过传递参数(类似perl.python) 的方式执行 R 脚本. 一般来说,命令行下使用 Rscript 执行 R ...

  5. 查询php的扩展,php命令行查看扩展信息(示例代码)

    通常,在php的开发过程中,我们会使用到第三方扩展,这时候,我们对于php扩展的信息的查看就显得尤为重要了.一般情况下,我们查看到扩展信息,都是直接通过 cat *.ini 文件来进行,这样子的效率是 ...

  6. kettle用命令行执行ktr和kjb

    Spoon 是一个图形用户界面,它允许你运行转换或者任务,其中转换是用Pan 工具来运行,任务是用Kitchen 来运行.Pan 是一个数据转换引擎,它可以执行很多功能,例如:从不同的数据源读取.操作 ...

  7. python命令行参数传递_Python中 命令行参数传递 与 处理

    英文原文: http://www.artima.com/weblogs/viewpost.jsp?thread=4829 很多人会在 if __name__ == "__main__&quo ...

  8. windows下php命令行模式错误信息

    windows下php命令行模式遇错误一闪而过自动关闭窗口,无法看清报错内容.此时,可手动开启一个窗口,然后运行相关代码即可. 转载于:https://www.cnblogs.com/shanhesh ...

  9. scons 自定义命令行参数传递

    scons 在做命令的时候, 可能需要一些自定义的编译选项, 开始直接用 parse 参数传, 结果一直报错, 后面找到官方的提供的方法, 比如这样 scons debug=1 在scons里面有个 ...

最新文章

  1. 密恐警告:超2000万张,全球最大的人眼图像数据集开源了
  2. 计算机软件中级职称 入职,计算机职调称论文.doc
  3. 全国计算机等级考试题库二级C操作题100套(第80套)
  4. Avalonia Beta 1对WPF做了很多改进
  5. oracle的日志模式,Oracle数据日志模式
  6. html中写一个占内存很大死循环代码,HTML中的循环
  7. 问题 D: 自动拨出电话的程序
  8. vue中select选择框的监听事件
  9. Apache Flink 学习教程----持续更新
  10. 算法 判断多个点是否在同一圆周线上_广州灵活计费自动出盘机技术方案大盘点...
  11. (翻译)从底层了解ASP.NET体系结构 [转]
  12. 企划学院第十二期游学活动“聚合”郑州站圆满落下帷幕!
  13. 四象限原则+番茄时间管理法
  14. mkt sensor1.0 alps
  15. 微信小程序:购物车总结(商品左右联动)
  16. Centos7 ping 不通百度 可能是网络配置问题
  17. 2018年广东工业大学文远知行杯新生程序设计竞赛 1006 那天的延长线在今天β...
  18. 23种设计模式——建造者模式
  19. 中国人请客吃饭的传统礼仪
  20. 黑莓的转型:如何成为一家网络安全公司?

热门文章

  1. (原理篇)FFT与NTT (快速傅里叶变换)摘自oiwi,仅方便理解
  2. Mac更改账户和个人文件夹名称
  3. java读取resource下的模板文件
  4. C++入门教程(一、初步了解)
  5. 【canvas】导出图片背景色
  6. 按照.fmt格式bcp数据文件
  7. math@一元函数积分@换元法
  8. 一女博士姐姐对《奋斗》的评论,精辟啊
  9. java基础-Idea开发工具介绍
  10. 手机调试模式 黑客_面向公民黑客的3种模式:绿色,克隆,扩充