在命令行中 运行 pan.bat 时出错

error while running pan.bat in command line

with the reference to my previous post,here is the link

我仍然面临一些错误。我尝试 运行 将其他 .ktr 文件成功 运行 但是当我尝试 运行 "pivot_inject_etl_metadata.ktr" 它给了我以下错误

 C:\pdi-ce-5.2.0.0-209\data-integration>pan.bat /file:E:\Practise_TRANSFORMATION_OUTPUT\dynamic_pivot\pivot_inject_etl_metadata.ktr /level:Basic 
DEBUG: Using PENTAHO_JAVA_HOME
DEBUG: _PENTAHO_JAVA_HOME=C:\Program Files\Java\jre1.8.0_51
DEBUG: _PENTAHO_JAVA=C:\Program Files\Java\jre1.8.0_51\bin\java.exe

C:\pdi-ce-5.2.0.0-209\data-integration>"C:\Program Files\Java\jre1.8.0_51\bin\java.exe"  "-Xmx256m" "-XX:MaxPermSize=256m" "-Djava.library.path=libswt\win64" "-DKETTLE_HOME=" "-DKETTLE_REPOSITORY=" "-
DKETTLE_USER=" "-DKETTLE_PASSWORD=" "-DKETTLE_PLUGIN_PACKAGES=" "-DKETTLE_LOG_SIZE_LIMIT=" "-DKETTLE_JNDI_ROOT=" -jar launcher\pentaho-application-launcher-5.2.0.0-209.jar -lib ..\libswt\win64  -main
org.pentaho.di.pan.Pan /file:E:\Practise_TRANSFORMATION_OUTPUT\dynamic_pivot\pivot_inject_etl_metadata.ktr /level:Basic
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0
2016/03/04 09:46:41 - Pan - Logging is at level : Basic logging
2016/03/04 09:46:41 - Pan - Start of run.
2016/03/04 09:46:41 - pivot_inject_etl_metadata - Dispatching started for transformation [pivot_inject_etl_metadata]
2016/03/04 09:46:41 - ETL Metadata Injection.0 - ERROR (version 5.2.0.0, build 1 from 2014-09-30_19-48-28 by buildguy) : Bad encoding!
2016/03/04 09:46:41 - ETL Metadata Injection.0 - ERROR (version 5.2.0.0, build 1 from 2014-09-30_19-48-28 by buildguy) : org.pentaho.di.core.exception.KettleException:
2016/03/04 09:46:41 - ETL Metadata Injection.0 - Unable to load transformation ///E:/Practise_TRANSFORMATION OUTPUT/dynamic pivot/pivot_inject.ktr from file.
2016/03/04 09:46:41 - ETL Metadata Injection.0 -
2016/03/04 09:46:41 - ETL Metadata Injection.0 - Unable to read file [file:///E:/Practise_TRANSFORMATION OUTPUT/dynamic pivot/pivot_inject.ktr]
2016/03/04 09:46:41 - ETL Metadata Injection.0 - Could not read from "file:///E:/Practise_TRANSFORMATION OUTPUT/dynamic pivot/pivot_inject.ktr" because it is a not a file.
2016/03/04 09:46:41 - ETL Metadata Injection.0 -
2016/03/04 09:46:41 - ETL Metadata Injection.0 -
2016/03/04 09:46:41 - ETL Metadata Injection.0 -        at org.pentaho.di.trans.steps.metainject.MetaInjectMeta.loadTransformationMeta(MetaInjectMeta.java:443)
2016/03/04 09:46:41 - ETL Metadata Injection.0 -        at org.pentaho.di.trans.steps.metainject.MetaInject.init(MetaInject.java:403)
2016/03/04 09:46:41 - ETL Metadata Injection.0 -        at org.pentaho.di.trans.step.StepInitThread.run(StepInitThread.java:69)
2016/03/04 09:46:41 - ETL Metadata Injection.0 -        at java.lang.Thread.run(Unknown Source)
2016/03/04 09:46:41 - ETL Metadata Injection.0 - Caused by: org.pentaho.di.core.exception.KettleXMLException:
2016/03/04 09:46:41 - ETL Metadata Injection.0 - Unable to read file [file:///E:/Practise_TRANSFORMATION OUTPUT/dynamic pivot/pivot_inject.ktr]
2016/03/04 09:46:41 - ETL Metadata Injection.0 - Could not read from "file:///E:/Practise_TRANSFORMATION OUTPUT/dynamic pivot/pivot_inject.ktr" because it is a not a file.
2016/03/04 09:46:41 - ETL Metadata Injection.0 -
2016/03/04 09:46:41 - ETL Metadata Injection.0 -        at org.pentaho.di.core.xml.XMLHandler.loadXMLFile(XMLHandler.java:559)
2016/03/04 09:46:41 - ETL Metadata Injection.0 -        at org.pentaho.di.core.xml.XMLHandler.loadXMLFile(XMLHandler.java:538)
2016/03/04 09:46:41 - ETL Metadata Injection.0 -        at org.pentaho.di.trans.TransMeta.<init>(TransMeta.java:2660)
2016/03/04 09:46:41 - ETL Metadata Injection.0 -        at org.pentaho.di.trans.steps.metainject.MetaInjectMeta.loadTransformationMeta(MetaInjectMeta.java:438)
2016/03/04 09:46:41 - ETL Metadata Injection.0 -        ... 3 more
2016/03/04 09:46:41 - ETL Metadata Injection.0 - Caused by: org.apache.commons.vfs.FileNotFoundException: Could not read from "file:///E:/Practise_TRANSFORMATION OUTPUT/dynamic pivot/pivot_inject.ktr"
 because it is a not a file.
2016/03/04 09:46:41 - ETL Metadata Injection.0 -        at org.apache.commons.vfs.provider.AbstractFileObject.getInputStream(Unknown Source)
2016/03/04 09:46:41 - ETL Metadata Injection.0 -        at org.apache.commons.vfs.provider.DefaultFileContent.getInputStream(Unknown Source)
2016/03/04 09:46:41 - ETL Metadata Injection.0 -        at org.pentaho.di.core.vfs.KettleVFS.getInputStream(KettleVFS.java:247)
2016/03/04 09:46:41 - ETL Metadata Injection.0 -        at org.pentaho.di.core.xml.XMLHandler.loadXMLFile(XMLHandler.java:557)
2016/03/04 09:46:41 - ETL Metadata Injection.0 -        ... 6 more
2016/03/04 09:46:41 - ETL Metadata Injection.0 - Caused by: java.io.FileNotFoundException: E:\Practise_TRANSFORMATION OUTPUT\dynamic pivot\pivot_inject.ktr (The system cannot find the file specified)
2016/03/04 09:46:41 - ETL Metadata Injection.0 -        at java.io.FileInputStream.open0(Native Method)
2016/03/04 09:46:41 - ETL Metadata Injection.0 -        at java.io.FileInputStream.open(Unknown Source)
2016/03/04 09:46:41 - ETL Metadata Injection.0 -        at java.io.FileInputStream.<init>(Unknown Source)
2016/03/04 09:46:41 - ETL Metadata Injection.0 -        at org.apache.commons.vfs.provider.local.LocalFile.doGetInputStream(Unknown Source)
2016/03/04 09:46:41 - ETL Metadata Injection.0 -        ... 10 more
2016/03/04 09:46:41 - ETL Metadata Injection.0 - ERROR (version 5.2.0.0, build 1 from 2014-09-30_19-48-28 by buildguy) : Error initializing step [ETL Metadata Injection]
2016/03/04 09:46:41 - pivot_inject_etl_metadata - ERROR (version 5.2.0.0, build 1 from 2014-09-30_19-48-28 by buildguy) : Step [ETL Metadata Injection.0] failed to initialize!
Unable to prepare and initialize this transformation

我可以解决这个问题吗?提前致谢。

这是我收到你的错误消息。

无法读取“file:///E:/​​Practise_TRANSFORMATION OUTPUT/dynamic pivot/pivot_inject.ktr" 因为它不是文件。

您应该检查: - pivot_inject.ktr 文件是否存在于 E:/Practise_TRANSFORMATION OUTPUT/dynamic 中 枢 - pivot_inject.ktr 文件格式是否正确..

只需复制即可:file:///E:/​​Practise_TRANSFORMATION OUTPUT/dynamic pivot/pivot_inject.ktr 并粘贴到 window 浏览器或网络浏览器

您日志中的第一条错误消息是“错误(版本 5.2.0.0,buildguy 从 2014-09-30_19-48-28 构建 1):编码错误!”

我对文件的编码感到困惑 "pan.bat" .

此处:Running pan.bat from command line 在您写的其中一条评论中:

"Thanks, I tried removing space from my folder by making it to Practise_TRANSFORMATION_OUTPUT.but unfortunately the there is another error."

然后你得到错误:

2016/03/04 09:46:41 - ETL Metadata Injection.0 -
2016/03/04 09:46:41 - ETL Metadata Injection.0 - Unable to read file [file:///E:/Practise_TRANSFORMATION OUTPUT/dynamic pivot/pivot_inject.ktr]
2016/03/04 09:46:41 - ETL Metadata Injection.0 - Could not read from "file:///E:/Practise_TRANSFORMATION OUTPUT/dynamic pivot/pivot_inject.ktr" because it is a not a file.

再一次 -

Practise_TRANSFORMATION OUTPUT

为转换参考而硬编码的文件夹不正确。我想应该是

Practise_TRANSFORMATION_OUTPUT

重命名某些文件夹后请检查 - 所有其他手动硬编码路径也会更新。使用存储库。 如果您仍然不使用存储库 - 但想引用同一文件夹下其他转换的一个转换 - 使用名为的变量:

${Internal.Transformation.Filename.Directory}

用于转换和

${Internal.Job.Filename.Directory}

相应的工作。希望这会有所帮助。

嘿,大家好,感谢您的帮助,我想我找到了错误背后的原因,我相信这是我在 "CSV Input" 步骤中没有更改源文件路径的最愚蠢的原因并且没有正确指定 "pivot_inject.ktr" 路径。 再次感谢。