转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 数据库 >> ORACLE >> 正文
一个 ORACLE 调用 DLL 的例子(原创)         ★★★★

一个 ORACLE 调用 DLL 的例子(原创)

作者:闵涛 文章来源:闵涛的学习笔记 点击数:768 更新时间:2009/4/22 22:03:46

注:以下程序在DELPHI7+ORACLE9i中测试通过

1、首先用DELPHI编制一个DLL程序,当然用VB,VC其它语言也可以,
本人最近常用DELPHI,所以以下DLL采用DELPHI程序编制:

//////////////////////////////////////////Project1.dpr  工程文件
library Project1;
uses
  SysUtils,
  Classes,
  Unit1 in ''''Unit1.pas'''';

{$R *.res}
exports
  dlltest;
begin
end.


///////////////////////////////////////////unit1.pas  接口函数实现文件
unit Unit1;

interface

function dlltest(a,b:double): double; cdecl; //接口函数

implementation
function dlltest(a,b:double): double; cdecl; //接口函数
begin
  result:=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 MYLIB
  as ''''C:\oracle\ora92\bin\Project1.dll'''';

4、ORACLE 数据库中增加一个function 名字为 "mytest1"
CREATE OR REPLACE FUNCTION mytest1(a DOUBLE PRECISION,b DOUBLE PRECISION) RETURN DOUBLE PRECISION AS
  LANGUAGE C NAME "dlltest"
  LIBRARY MYLIB
  PARAMETERS (a DOUBLE,b DOUBLE,
               RETURN DOUBLE );


5、测试一下

select mytest1(3.51,8.2) from dual;

------------返回28.782

6、到此一个简单的例子完成,其实这是一个最简单的例子,实际应用中需要根据需求去做,
本人做这个例子只是给各位网友开路,实际应用还需参考ORACLE帮助文档。

源程序及脚本下载地址:

http://www.cnoug.org/attachment.php?aid=20557


    叶正盛
2005-03-11


[Web开发]loop调用discuz大全  [办公软件]利用幻灯片搜索器高效、快速批量复制另外一个演示…
[办公软件]Excel使用宏操作另一个Excel文件  [办公软件]在Excel工具栏中添加一个计算器
[办公软件]Excel合并多表数据为一个工作表数据  [办公软件]Excel合并两表数据为一个工作表数据
[Web开发]如何在当前网页包含另外一个页面  [Web开发]十一个常规用法就是提高NET程序性能的核心
[Web开发]启动IIS提示另一个程序正在使用此文件的原因及解决…  [网页制作]如何调用IE菜单“工具”中的internet选项
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Sql Server  · MySql
    · Access  · ORACLE
    · SyBase  · 其他
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台