问题描述
我在Windows中运行自定义操作系统命令时遇到问题。
我已经将ODI 11迁移到了OPMN。服务设置为启动类型:自动。
我创建了一个简单的测试程序,如下所示:
技术:Jython
import os
os.system('set')
os.system('echo 123')
在重新启动服务器之前运行良好。重新启动后,我运行此过程并得到以下错误:
ODI-1217: Session TEST_OS_RUN (1618033023) fails with return code 7000.
ODI-1226: Step TEST_OS_RUN fails after 1 attempt(s).
ODI-1232: Procedure TEST_OS_RUN execution fails.
Caused By: org.apache.bsf.BSFException: exception from Jython:
Traceback (most recent call last):
File "<string>",line 6,in <module>
File "C:\Oracle\ODI_11_1_9_0\oracledi.sdk\lib\Lib\os.py",line 726,in system
return subprocess.call(command,shell=True)
File "C:\Oracle\ODI_11_1_9_0\oracledi.sdk\lib\Lib\subprocess.py",line 456,in call
return Popen(*popenargs,**kwargs).wait()
File "C:\Oracle\ODI_11_1_9_0\oracledi.sdk\lib\Lib\subprocess.py",line 755,in __init__
self._execute_child(args,executable,preexec_fn,close_fds,File "C:\Oracle\ODI_11_1_9_0\oracledi.sdk\lib\Lib\subprocess.py",line 1240,in _execute_child
args = _shell_command + args
TypeError: unsupported operand type(s) for +: 'nonetype' and 'list'
at org.apache.bsf.engines.jython.JythonEngine.exec(JythonEngine.java:146)
at com.sunopsis.dwg.codeinterpretor.SnpScriptingInterpretor.execInBSFEngine(SnpScriptingInterpretor.java:322)
...and so on
之后,我重新启动Windows服务“ Oracle Process Manager(instance1)”,它又恢复正常了!
每次重新启动Windows计算机时,我都会遇到此问题。
我已经按照Doc ID 1518438.1
所述将ORACLE_HOME和PATH变量添加到opmn.xml中。我不知道是什么原因导致重新启动后出现此错误,但不是导致手动服务重新启动之后。
服务使用本地用户运行,而不是系统内置的。
此问题还会导致例如运行sql * Loader的问题。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)