Forum Stats

  • 3,852,332 Users
  • 2,264,093 Discussions
  • 7,905,031 Comments

Discussions

HFM - Reverse Engineering Issue

geeo73
geeo73 Member Posts: 54
edited Jan 26, 2009 10:02PM in Data Integrator
Hi all,

I am having a few issues reverse engineering an HFM application - when I run the process using an agent on the machine that is NOT the local agent, I get the following error:

org.apache.bsf.BSFException: exception from Jython:
Traceback (innermost last):

File "<string>", line 38, in ?

com.hyperion.odi.common.ODIHAppException: Error occurred while loading driver.
at com.hyperion.odi.hfm.ODIHFMAppConnection.<init>(ODIHFMAppConnection.java:58)
at com.hyperion.odi.hfm.ODIHFMAppReverser.connect(ODIHFMAppReverser.java:27)
at com.hyperion.odi.common.ODIModelImporter.importModels(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java)
at org.python.core.PyMethod.__call__(PyMethod.java)
at org.python.core.PyObject.__call__(PyObject.java)
at org.python.core.PyInstance.invoke(PyInstance.java)
at org.python.pycode._pyx2.f$0(<string>:38)
at org.python.pycode._pyx2.call_function(<string>)
at org.python.core.PyTableCode.call(PyTableCode.java)
at org.python.core.PyCode.call(PyCode.java)
at org.python.core.Py.runCode(Py.java)
at org.python.core.Py.exec(Py.java)
at org.python.util.PythonInterpreter.exec(PythonInterpreter.java)
at org.apache.bsf.engines.jython.JythonEngine.exec(JythonEngine.java:144)
at com.sunopsis.dwg.codeinterpretor.k.a(Unknown Source)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.scripting(Unknown Source)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execScriptingOrders(Unknown Source)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execScriptingOrders(Unknown Source)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTaskTrt(Unknown Source)
at com.sunopsis.dwg.dbobj.SnpSessTaskSqlC.treatTaskTrt(Unknown Source)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(Unknown Source)
at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(Unknown Source)
at com.sunopsis.dwg.dbobj.SnpSession.treatSession(Unknown Source)
at com.sunopsis.dwg.cmd.DwgCommandSession.treatCommand(Unknown Source)
at com.sunopsis.dwg.cmd.DwgCommandBase.execute(Unknown Source)
at com.sunopsis.dwg.cmd.e.i(Unknown Source)
at com.sunopsis.dwg.cmd.h.y(Unknown Source)
at com.sunopsis.dwg.cmd.e.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

Caused by: com.hyperion.odi.hfm.wrapper.HFMException: Error occurred while loading driver.
at com.hyperion.odi.hfm.wrapper.HFMServer.<init>(HFMServer.java:29)
at com.hyperion.odi.hfm.ODIHFMAppConnection.<init>(ODIHFMAppConnection.java:51)
+... 33 more+

Caused by: com.hyperion.odi.hfm.wrapper.HFMException: no HFMDriver in java.library.path
at com.hyperion.odi.hfm.wrapper.HFMDriverJNI.getDriver(HFMDriverJNI.java:23)
at com.hyperion.odi.hfm.wrapper.HFMServer.<init>(HFMServer.java:26)
+... 34 more+

com.hyperion.odi.common.ODIHAppException: com.hyperion.odi.common.ODIHAppException: Error occurred while loading driver.
at org.apache.bsf.engines.jython.JythonEngine.exec(JythonEngine.java:146)
at com.sunopsis.dwg.codeinterpretor.k.a(Unknown Source)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.scripting(Unknown Source)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execScriptingOrders(Unknown Source)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execScriptingOrders(Unknown Source)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTaskTrt(Unknown Source)
at com.sunopsis.dwg.dbobj.SnpSessTaskSqlC.treatTaskTrt(Unknown Source)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(Unknown Source)
at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(Unknown Source)
at com.sunopsis.dwg.dbobj.SnpSession.treatSession(Unknown Source)
at com.sunopsis.dwg.cmd.DwgCommandSession.treatCommand(Unknown Source)
at com.sunopsis.dwg.cmd.DwgCommandBase.execute(Unknown Source)
at com.sunopsis.dwg.cmd.e.i(Unknown Source)
at com.sunopsis.dwg.cmd.h.y(Unknown Source)
at com.sunopsis.dwg.cmd.e.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

However, if I run the reverse using the local agent it works (well, after having the third task hang - in which I error it out (plus all "running" parent tasks) and then restart it, in which it is fine).

The PATH environment variable contains the location of ORACLEDI/DRIVERS and I have the HFM client installed locally on the server in question so I have covered both of those potential resolutions off.

So, my question is why is it that the LOCAL AGENT can run the job successfully (after intervention but it succeeds eventually) but my agent that I have running as a windows service cannot and fails stating it cannot find the HFM driver.

As always - your help will be greatly appreciated.

Best Regards,

Gee

ADDITIONAL INFO_

OK - I have created a service using agent.bat and reverse engineered the HFM application
I created another service using agentservice.bat and the reverse engineering failed with the same message detailed as above.

Just thought I would add this to see if it helps shed any light ... here's hoping

Edited by: geeo on Nov 10, 2008 5:21 PM
Tagged:

Answers

  • 578254
    578254 Member Posts: 338
    FYI

    the documentation is not real clear on this. You will find the following from MetaLink Helpful

    -----

    Doc ID: 759688.1

    Cause
    The Java Library Path of the HFMDriver.dll is missing in Wrapper configuration file.
    Solution
    1. Backup and edit the ODI_HOME\tools\wrapper\conf\snpsagent.conf and include the following entry in Java Library Path section :

    wrapper.java.library.path.2=../drivers

    After adding it will look as follows:

    # Java Library Path (location of Wrapper.DLL or libwrapper.so)
    wrapper.java.library.path.1=../tools/wrapper/lib/
    wrapper.java.library.path.2=../drivers


    2. Save the file and recreate the ODI Agent Service with the new configuration parameters as the classes are loaded during its creation and re-test the issue.

    -----


    Hope this is helpful


    Wayne Van Sluys
This discussion has been closed.