Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell pentaho厨房出口代码工作不正常_Powershell_Pentaho Data Integration - Fatal编程技术网

Powershell pentaho厨房出口代码工作不正常

Powershell pentaho厨房出口代码工作不正常,powershell,pentaho-data-integration,Powershell,Pentaho Data Integration,我正在通过PowerShell脚本执行我的作业,但是厨房出口返回代码似乎不起作用。。。 根据我在下面阅读的文档,是厨房的返回代码 0=作业/转换运行时没有问题 1=处理过程中发生错误 2=加载/运行作业/转换期间发生意外错误。基本上,这可能是XML格式中的错误、读取文件时的错误,也可能表示存储库连接存在问题 3=无法连接到数据库、打开文件或其他 初始化错误 7=无法从XML或存储库加载作业/转换;基本上,可能是插件/文件夹中的一个插件编写不正确或不兼容 8=加载步骤或插件时出错(加载

我正在通过PowerShell脚本执行我的作业,但是厨房出口返回代码似乎不起作用。。。 根据我在下面阅读的文档,是厨房的返回代码

  • 0=作业/转换运行时没有问题

  • 1=处理过程中发生错误

  • 2=加载/运行作业/转换期间发生意外错误。基本上,这可能是XML格式中的错误、读取文件时的错误,也可能表示存储库连接存在问题

  • 3=无法连接到数据库、打开文件或其他 初始化错误

  • 7=无法从XML或存储库加载作业/转换;基本上,可能是插件/文件夹中的一个插件编写不正确或不兼容

  • 8=加载步骤或插件时出错(加载其中一个插件时出错)

  • 9=命令行使用情况打印

     $FilePath = 'C:\pdi-ce-8.1.0.0-371\data-integration\kitchen.bat'
     $ArgumentList = '-file=C:\pdi_debug\debug.kjb -level=MINIMAL >> 
     C:\pdi_debug\bat.log'
     $PDIProcess = Start-Process -Filepath $FilePath -ArgumentList 
     $ArgumentList -Wait -PassThru
     Write-host "The Exit code from Kitchen is " $LastExitCode
    
     If($LastExitCode  -eq 0) #This doesn't seem to correctly get the exit 
      code we are wanting :-/
      {
       $EMAIL_SUBJECT='INT: Pentaho_J_load SUCCEEDED'
      }
     Else
      {
        $EMAIL_SUBJECT='INT: Pentaho_J_load FAILED'
    
      • 要同步执行控制台应用程序或批处理文件并捕获其输出/检查其退出代码,请直接调用它们(
        c:\path\To\some.exe…
        &$exePath…
        ),不要使用
        启动进程
        -请参阅

        • 使用时,获取流程退出代码的唯一方法是通过流程信息对象(类型) 由
          -PassThru
          开关及其
          .ExitCode
          属性返回(带有
          -Wait
          ,可以立即访问此属性;如果没有它, 必须使用
          .WaitForExit()
          ,或轮询
          .hasExit
          财产)

        • 相反,只有在直接调用外部程序之后才设置(通过直接调用它,或者-如果路径需要引用和/或涉及变量引用-通过
          &
          ,调用)

      因此,直接调用批处理文件,然后检查
      $LASTEXITCODE

      C:\pdi-ce-8.1.0.0-371\data integration\kitchen.bat-file=C:\pdi\u debug\debug.kjb-level=MINIMAL>>C:\pdi\u debug\bat.log
      
      注意:这将使PowerShell附加到(
      >
      )文件
      C:\pdi\u debug\bat.log
      ,这意味着始终使用[1]以下字符编码:

      • 在Windows PowerShell中:“Unicode”(UTF-16LE)
      • 在PowerShell(核心)(v6+):无BOM的UTF-8
      如果需要
      cmd.exe
      执行追加,请改为通过
      cmd/c
      调用批处理文件:

      cmd/c'c:\pdi-ce-8.1.0.0-371\data integration\kitchen.bat-file=c:\pdi\u debug\debug.kjb-level=MINIMAL>>c:\pdi\u debug\bat.log'
      
      注意:由于当从外部调用
      cmd.exe
      时,
      cmd.exe
      如何中继批处理文件设置的退出代码的问题,调用批处理文件最可靠的方法是使用
      cmd/c
      并将
      &exit
      附加到命令字符串中-请参阅


      [1] 在PowerShell 5.1及更高版本中,可以控制
      /
      >
      使用的默认编码,尽管方式不明显:请参阅。

      • 要同步执行控制台应用程序或批处理文件并捕获其输出/检查其退出代码,请直接调用它们(
        c:\path\To\some.exe…
        &$exePath…
        ),不要使用
        启动进程
        -请参阅

        • 使用时,获取流程退出代码的唯一方法是通过流程信息对象(类型) 由
          -PassThru
          开关及其
          .ExitCode
          属性返回(带有
          -Wait
          ,可以立即访问此属性;如果没有它, 必须使用
          .WaitForExit()
          ,或轮询
          .hasExit
          财产)

        • 相反,只有在直接调用外部程序之后才设置(通过直接调用它,或者-如果路径需要引用和/或涉及变量引用-通过
          &
          ,调用)

      因此,直接调用批处理文件,然后检查
      $LASTEXITCODE

      C:\pdi-ce-8.1.0.0-371\data integration\kitchen.bat-file=C:\pdi\u debug\debug.kjb-level=MINIMAL>>C:\pdi\u debug\bat.log
      
      注意:这将使PowerShell附加到(
      >
      )文件
      C:\pdi\u debug\bat.log
      ,这意味着始终使用[1]以下字符编码:

      • 在Windows PowerShell中:“Unicode”(UTF-16LE)
      • 在PowerShell(核心)(v6+):无BOM的UTF-8
      如果需要
      cmd.exe
      执行追加,请改为通过
      cmd/c
      调用批处理文件:

      cmd/c'c:\pdi-ce-8.1.0.0-371\data integration\kitchen.bat-file=c:\pdi\u debug\debug.kjb-level=MINIMAL>>c:\pdi\u debug\bat.log'
      
      注意:由于当从外部调用
      cmd.exe
      时,
      cmd.exe
      如何中继批处理文件设置的退出代码的问题,调用批处理文件最可靠的方法是使用
      cmd/c
      并将
      &exit
      附加到命令字符串中-请参阅



      [1] 在PowerShell 5.1及更高版本中,可以控制
      /
      >
      >
      >
      >使用的默认编码,虽然不是很明显:请参见。

      尝试
      $PDIProcess.ExitCode>而不是
      $LASTEXITCODE
      是已尝试此操作,但仍不走运…尝试
      $PDIProcess.ExitCode>而不是
      $LASTEXITCODE
      是已尝试此操作,但仍不走运。。。