这是您所在当前作业所在文件夹的变量。 如果你不使用存储库,那么你需要指定转换的位置。
为了使其更灵活,您可以将作业和转换放在同一文件夹中 然后你可以使用Internal.Job.Filename.Directory。
所以,如果您的转换被调用:my.ktr 然后在{Internal.Job.Filename.Directory} /my.ktr指向它的工作中调用它
你可以在我的课程中了解更多相关信息: pentaho教程
现在,在版本7及更高版本中不推荐使用此变量。您应该使用Internal.Entry.Current.Directory,无论存储库与否,它都可以工作,因此您可以构建更多可移植代码。
要将值设置为变量Internal.Job.Filename.Directory,需要在此处启动Job 办法:
String filename="path_filename"; KettleEnvironment.init(); JobMeta jobMeta = new JobMeta(filename, null); Job job = new Job(null, jobMeta); job.start(); job.waitUntilFinished();
Internal.Job.Filename.Directory是一个始终可用的内部变量。它指向作业所在的目录。
您可以找到更多信息 这里 。
Internal.Job.Filename.Directory 只是设定 的 当您不使用存储库时 强> ,它会自动设置。您无法手动设置它。
Internal.Job.Filename.Directory
的 如何不使用存储库? 强>
启动Spoon时,会出现一个对话框,要求提供存储库。只需关闭此对话框即可取消,你很好!
我花了一段时间才发现这个:我想知道为什么 Internal.Job.Filename.Directory 总是空的。存储库是原因。
它在这里记录: http://jira.pentaho.com/browse/PDI-7434
Internal.Job.Filename.Directory是一个kettle环境变量,它指向磁盘上作业的位置。