我在oracle中调用用c#写的dll:
c#源码:
using System;
using System.Collections.Generic;
using System.Text;namespace myLib
{
public class VCF
{
public static float CalPlus(float a, float b)
{
return a + b;
}
}
}
编译成myLib.dll文件后,拷贝到oracle的bin目录下,然后在oracle中新建libraries:
create or replace library LIB_VCFCAL
as 'D:\oracle\ora92\bin\myLib.dll';
然后,创建函数引用该library:
create or replace function F_CALPLUS(A FLOAT,B FLOAT) return FLOAT is
LANGUAGE C NAME "VCF.CalPlus" LIBRARY LIB_VCFCAL
PARAMETERS(A FLOAT,B FLOAT,RETURN FLOAT);
最后调用:
select F_CALPLUS(10,5) from dual;
保错:
ORA-06521:PL/SQL:映射函数时出错
ORA-06522:Unable to load symbol from DLL哪位高手能帮我看看我这错在哪儿?
c#源码:
using System;
using System.Collections.Generic;
using System.Text;namespace myLib
{
public class VCF
{
public static float CalPlus(float a, float b)
{
return a + b;
}
}
}
编译成myLib.dll文件后,拷贝到oracle的bin目录下,然后在oracle中新建libraries:
create or replace library LIB_VCFCAL
as 'D:\oracle\ora92\bin\myLib.dll';
然后,创建函数引用该library:
create or replace function F_CALPLUS(A FLOAT,B FLOAT) return FLOAT is
LANGUAGE C NAME "VCF.CalPlus" LIBRARY LIB_VCFCAL
PARAMETERS(A FLOAT,B FLOAT,RETURN FLOAT);
最后调用:
select F_CALPLUS(10,5) from dual;
保错:
ORA-06521:PL/SQL:映射函数时出错
ORA-06522:Unable to load symbol from DLL哪位高手能帮我看看我这错在哪儿?
解决方案 »
- 请教windows2003,oracle 7天增量备份SQL脚本
- select在存储过程中的使用
- 关于Oracle数据导入至Access中的问题
- 取制定月份的天数
- 大哥大姐进来看一看创建对象带上not instantiable选项为什么会出现这种错误
- 关于删除表空间的数据文件的问题
- 在PL/SQL中,在执行动态SQL中,什么时候要用到EXECUTE IMMEDIATE,谢谢
- oracle9i在linux下数据显示乱码的问题
- oracale数据库问题,请大家指教!!
- SQLLoader导入时如何去处空格?
- 如何统计oracle数据库中,平均SQL语句执行时间,可不可以从哪个表中直接获取
- 如何得到所有下级id啊
1. 转义符
create or replace library LIB_VCFCAL
as 'D:\oracle\ora92\bin\myLib.dll'; 这里应该换成'D:\\oracle\\ora92\\bin\\myLib.dll'
2.创建的function里的C NAME名字不全
应该是:LANGUAGE C NAME "myLib.VCF.CalPlus"
按上边两条,改了以后再试试吧。
难道新版本的oracle(如10g, 11g)支持调用C#写的dll吗?