【发布时间】:2016-08-09 04:40:48
【问题描述】:
我有一个 c# DLL,我将该 dll 从 JNI4net 转换为与 java 一起使用。我可以在 java 中调用 dll,但是当我创建一个 jar 文件并在按钮事件上从 oracle 触发 java 函数时。它抛出异常。
Java 代码:
Bridge.setVerbose(true);
Bridge.setDebug(true);
Bridge.LoadAndRegisterAssemblyFrom(new java.io.File("ECR.j4n.dll"));
ComECR test = new ComECR();
test.VFI_DoSetup();
ORACLE 异常:
java.lang.IllegalArgumentException: URI scheme is not "file"
at java.io.File.<init>(Unknown Source)
at net.sf.jni4net.CLRLoader.findDefaultDll(CLRLoader.java:54)
at net.sf.jni4net.Bridge.init(Bridge.java:31)
at com.ecr.test.Program.getProperty(Program.java:57)
at oracle.forms.handler.UICommon.onGet(Unknown Source)
at oracle.forms.engine.Runform.onGetHandler(Unknown Source)
at oracle.forms.engine.Runform.processMessage(Unknown Source)
at oracle.forms.engine.Runform.processSet(Unknown Source)
我已经签署了 jar 并且还在类路径和 formsweb.cfg 中添加了 jar
需要帮助
【问题讨论】:
-
我认为您不能直接从 jar 加载 .DLL。看起来您需要先从 jar 中提取它,然后再调用它。此处示例:stackoverflow.com/questions/1611357/…
-
我的 java 代码运行完美.. 它调用 c# dll.. 但我无法将 jar 与 oracle 链接,它给了我上面提到的异常
标签: java c# dll oracle11g oracleforms