oracle调用dll文件,转载 我的在oracle中使用trigger调用dll的源码

新建一个空的win32   dynamic_link   library   project.取名为testdll.

加入testdll.cpp.源程序如下:

#include   int   __stdcall   DllMain(HANDLE,DWORD,LPVOID)

{ return   1;

}

short   test(void)

{

return   system("dir   e:   >   e:\\mydire.txt");

}

加入testdll.def:如下:

LIBRARY   "testdll.dll"

EXPORTS

test   @1

then   click   the   bulid.get   the   testdll.dll.copy   to   e:\

打开sql   plus.登录(最好不要用internal身份登录).

建立一个包:

SQL>   create   or   replace   library   wz_test

2     as   'e:\testdll.dll';

3     /

建一个function:

SQL>   create   or   replace   function   wz_funtest

2     return   binary_integer

3     as

4     external

5     library   wz_test

6     name   "test"

7     language   c

8     parameters   (return   short);

9     /

建一个表

SQL>create   table   ff(addr   varchar2(20));

建立一个trigger:

SQL>   create   or   replace   trigger   my_test_trigger   after   insert   on   ff

2     declare

3     my_result   binary_integer;

4     begin

5     my_result   :=wz_funtest;

6     end;

7     /

现在

SQL>insert   into   ff   values('chengdu');

然后在e盘看看是不是多了一个文件.

可以把我的dll中test函数改一下:用FindWindowEx,SendMessage跟自己程序通信或者直接用socket通信.

嘻嘻,如果有转载的话,请署上zheng017的大名哈..

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12378643/viewspace-619918/,如需转载,请注明出处,否则将追究法律责任。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值