51Testing软件测试论坛
标题:
RFT脚本中如何加载DLL?
[打印本页]
作者:
lancelang
时间:
2011-2-16 12:13
标题:
RFT脚本中如何加载DLL?
因为想在测试脚本中查询数据库,所以需要加载数据库连接DLL,但运行测试脚本时报java.lang.UnsatisfiedLinkError异常。代码如下:
public void testMain(Object[] args)
{
String ret = "";
IDNAAdapter clientNDA = new DNAService();
try
{
System.loadLibrary("QuoterJNI");
ret = clientNDA.getDiskCode();
System.out.println(ret);
}
catch (Throwable t)
{
t.printStackTrace();
}
}
复制代码
异常:java.lang.UnsatisfiedLinkError: com/huawei/unistar/cfg/quoter/dna/QuoterJNI.getHardDiskCode()Ljava/lang/String;
但直接写在main函数,用java程序的方式运行却不会报错:
public static void main(String[] args)
{
String ret = "";
IDNAAdapter clientNDA = new DNAService();
try
{
System.loadLibrary("QuoterJNI");
ret = clientNDA.getDiskCode();
System.out.println(ret);
}
catch (Throwable t)
{
t.printStackTrace();
}
}
复制代码
请大虾们指点一下,谢谢!
作者:
zm1015
时间:
2011-2-16 13:25
需要开发配合你的,用jni试试。
作者:
lancelang
时间:
2011-2-16 14:46
回复
2#
zm1015
用的就是JNI啊。
作者:
BlueSkyLoser
时间:
2011-3-3 16:53
看一下第一个文件是否java文件,可以把第二个文件写成一个方法,然后调用试试。
作者:
franklies
时间:
2011-5-20 22:33
回复
1#
lancelang
JDBC连接数据库不行吗?
作者:
dreamever
时间:
2011-5-21 20:35
本帖最后由 dreamever 于 2011-5-21 20:37 编辑
应该是加载的路径不同,检查一下目录吧。
作者:
kou_dou
时间:
2011-5-23 18:39
用JNI的话要注意.dll文件存放的位置,这个位置在头文件里有可能是写死的
作者:
Rockets
时间:
2011-5-26 18:09
Leaning....
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2