注:以下程序在DELPHI7+ORACLE9i中测试通过
1、首先用DELPHI编制一个DLL程序,当然用VB,VC其它语言也可以,本人最近常用DELPHI,所以以下DLL采用DELPHI程序编制://Project1。
dpr工程文件library Project1;usesSysUtils,Classes,Unit1 in 'Unit1。pas';{$R *。res}exportsdlltest;beginend。///unit1。
pas接口函数实现文件unit Unit1;interfacefunction dlltest(a,b:double): double; cdecl; //接口函数implementationfunction dlltest(a,b:double): double; cdecl; //接口函数beginresult:=a*b;end;end。
2、将编译生成的Project1。dll 拷贝至$ORACLE_HOME/bin路径下,本人$ORACLE_HOME=C:\\oracle\\ora92所以将Project1。dll拷贝至C:\\oracle\\ora92\\bin\\路径。
3、ORACLE 数据库中增加一个library 名字为 "MYLIB"create or replace library MYLIBas 'C:\\oracle\\ora92\\bin\\Project1。dll';
4、ORACLE 数据库中增加一个function 名字为 "mytest1"CREATE OR REPLACE FUNCTION mytest1(a DOUBLE PRECISION,b DOUBLE PRECISION) RETURN DOUBLE PRECISION ASLANGUAGE C NAME "dlltest"LIBRARY MYLIBPARAMETERS (a DOUBLE,b DOUBLE,RETURN DOUBLE );
5、测试一下select mytest1(3。
51,8。2) from dual;------------返回28。782
6、到此一个简单的例子完成,其实这是一个最简单的例子,实际应用中需要根据需求去做,本人做这个例子只是给各位开路,实际应用还需参考ORACLE帮助文档。
全部