ORACLE调用DLL的例子

    技术2022-05-11  59

    注:以下程序在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;

    interface

    function 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帮助文档。


    最新回复(0)