无法从 Oracle 调用 dll [英] Unable to call dll from Oracle

查看:88
本文介绍了无法从 Oracle 调用 dll的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个 c# DLL,我将该 dll 从 JNI4net 转换为与 java 一起使用.我能够在java中调用dll但是当我创建一个jar文件并在按钮事件上从oracle触发java函数时.它抛出异常.

I have a c# DLL, i convert that dll from JNI4net to work with java. I am able to call the dll in java but when i create a jar file and trigger java function from oracle on button event. It throws exception.

Java 代码:

    Bridge.setVerbose(true);
    Bridge.setDebug(true);
    Bridge.LoadAndRegisterAssemblyFrom(new java.io.File("ECR.j4n.dll"));
    ComECR test = new ComECR();
    test.VFI_DoSetup();

甲骨文异常:

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

I have signed jar and also added the jar in class path and formsweb.cfg

需要这方面的帮助

推荐答案

您在 SO 中有此消息错误:URI 方案不是文件"

You have this very message error in SO: URI scheme is not "file"

根据您的错误,我会尝试以下操作:

From your error, I would try the below:

Bridge.setVerbose(true);
Bridge.setDebug(true);
Bridge.LoadAndRegisterAssemblyFrom(new java.io.File("file:<fullpath>/ECR.j4n.dll"));
ComECR test = new ComECR();
test.VFI_DoSetup();

您仅在使用 Oracle 时遇到错误这一事实可能意味着 Oracle 无法单独使用与 Java 相同的路径.它不是缺少 jar 文件的路径,而是缺少 dll 文件的路径.

The fact that you're getting the error with Oracle only could mean Oracle doesn't work with same Path as Java alone. It isn't missing the jar file's path but the dll one's.

这篇关于无法从 Oracle 调用 dll的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆