由于ODI生产环境的Java EE Agent是部署在Liunx上的,最近在使用ODI导出Essbase数据的时候,遇到了问题。
具体如下,当mdx文件中包含中文名称的时候,就会报找不到成员名称的错误。
由于ODI导出Essbase的数据是使用的Essbase JAVA API,第一时间想到的事,应该把mdx文件存为UTF8的格式。
方法很简单,windows记事本,另存为,选择UTF8。OK,上传到服务器,执行
此次Extract Data那步的错误又变成
exception from Jython:
Traceback (most recent call last):
File "<string>", line 1, in <module>
NameError: name 'essbaseAppReader' is not defined
at org.apache.bsf.engines.jython.JythonEngine.exec(JythonEngine.java:146)
at com.sunopsis.dwg.codeinterpretor.SnpScriptingInterpretor.execInBSFEngine(SnpScriptingInterpretor.java:322)
at
通过查看前一步(Begin Essbase Data Extract)中的代码,找到具体的错误日志,一般如下:
logFileName = r"/home/hyperion/Oracle/Middleware/user_projects/Foundation1/tmp/xxxx.log"
查看其实中的内容发现,如下错误
Got Source Metadata
2017-08-18 14:19:09,234 ERROR [SimpleAsyncTaskExecutor-1