打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
我的在oracle中使用trigger调用dll的源码

我的在oracle中使用trigger调用dll的源码[问题点数:200,结帖人:ZHENG017]

  • ZHENG017
  • 等 级:
  • 结帖率:
楼主发表于:2002-10-31 08:47:23
新建一个空的win32   dynamic_link   library   project.取名为testdll.
加入testdll.cpp.源程序如下:
#include   <windows.h>
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的大名哈..
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
C#调用C/C++动态链接库(.dll)详解——第三篇 C++调用.dll
如何使用触发器实现数据库级守护,防止DDL操作
Oracle的悲观锁和乐观锁 - 面对开源的世界.. - BlogJava
ORACLE级联删除
oracle中触发器使用遇到的mutating table
随笔- 63 文章- 7 评论- 30 随笔- 63 文章- 7 评论- 30
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服