最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

使用javascript访问kettle内部组件

来源:动视网 责编:小采 时间:2020-11-09 14:43:12
文档

使用javascript访问kettle内部组件

使用javascript访问kettle内部组件:使用javascript访问kettle内部组件 很少有ETL项目需求使用kettle标准步骤不能实现的。假设举例每条记录都需标记为来自那个数据库的信息,原数据库是通过DB连接设置的,那如何获取这些设置?(类型、主机、端口、数据库名称等) 在kettle中没有标准步骤可
推荐度:
导读使用javascript访问kettle内部组件:使用javascript访问kettle内部组件 很少有ETL项目需求使用kettle标准步骤不能实现的。假设举例每条记录都需标记为来自那个数据库的信息,原数据库是通过DB连接设置的,那如何获取这些设置?(类型、主机、端口、数据库名称等) 在kettle中没有标准步骤可


使用javascript访问kettle内部组件 很少有ETL项目需求使用kettle标准步骤不能实现的。假设举例每条记录都需标记为来自那个数据库的信息,原数据库是通过DB连接设置的,那如何获取这些设置?(类型、主机、端口、数据库名称等) 在kettle中没有标准步骤可以实现

使用javascript访问kettle内部组件

很少有ETL项目需求使用kettle标准步骤不能实现的。假设举例每条记录都需标记为来自那个数据库的信息,原数据库是通过DB连接设置的,那如何获取这些设置?(类型、主机、端口、数据库名称等)

在kettle中没有标准步骤可以实现,幸运的是javascript步骤可以访问kettle内部组件并实现以上需求。

访问kettle内部组件是_step_变量,其被自动设置在每个javascript步骤中。它代表javascript步骤本身,步骤的getTransMeta()方法返回TransMeta对象,表示整个转换,TransMeta对象可以用来获取关于定义在转换中的数据库连接信息。正确的TransMeta对象通过findDatabase()方法获得,返回DatabaseMeta对象,其他提供了一组方法返回数据库连接的信息。

下面的代码获取名称为“SourceDB”数据库连接的一些信息。

// get db object

var db = _step_.getTransMeta().findDatabase("SourceDB");

// ask db object for information

var db_type = db.getDatabaseTypeDesc();

var db_host = db.getHostname();

var db_port = db.getDatabasePortNumberString();

var db_name = db.getDatabaseName();

var db_tblspace = db.getDataTablespace();

var db_idxspace = db.getIndexTablespace();

var db_user = db.getUsername();

var db_pass = db.getPassword();

var db_url = db.getURL();

var db_driver = db.getDriverClass();

需要提醒的是,kettle版本在不断更新,其内部组件在不同版本之间可能不同。因此在把访问kettle内部组件的代码升级到一个新的版本时,需要做全面的测试。

说了那么多,不如去下载示例代码,其写数据库连接信息到一个文本文件,在5.1版本测试。

希望大家一起交流讨论,你们的建议是我的动力。

文档

使用javascript访问kettle内部组件

使用javascript访问kettle内部组件:使用javascript访问kettle内部组件 很少有ETL项目需求使用kettle标准步骤不能实现的。假设举例每条记录都需标记为来自那个数据库的信息,原数据库是通过DB连接设置的,那如何获取这些设置?(类型、主机、端口、数据库名称等) 在kettle中没有标准步骤可
推荐度:
标签: 使用 访问 内部
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top