加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sqlserver 2000 触发器 存储过程调用外部dll,可以使vb,vc,del

发布时间:2020-12-12 13:07:09 所属栏目:MsSql教程 来源:网络整理
导读:sqlserver 2000 触发器 存储过程调用外部dll,可以使vb,vc,delphi生成 标签: dllsqlserverdelphivb存储xp 2011-04-19 18:17 2254人阅读 评论(0) 收藏 举报 本文章已收录于: 分类: sql (3) 作者同类文章 X 版权声明:本文为博主原创文章,未经博主允许
sqlserver 2000 触发器 存储过程调用外部dll,可以使vb,vc,delphi生成 标签: dllsqlserverdelphivb存储xp 2254人阅读 评论(0) 收藏 举报 本文章已收录于:

分类: 作者同类文章 X

    ?使用非SQL格式dll,也就是平时所写的,如果打死也不明白就用他就可以。
    dll需要事先先注册,
    注册是:regsvr32 名字.dll

    卸载是:regsvr32 /u 名字.dll

    [vb] view plain copy print ?
    1. CREATE?TRIGGER??[名称]?ON?[表名]???
    2. AFTER?INSERT,?UPDATE,?DELETE???
    3. AS??
    4. DECLARE?@hr?int??
    5. DECLARE?@obj?int??
    6. DECLARE?@out?varchar(200)??
    7. exec?@hr?=?sp_oacreate?'[名称空间|工程名].[类名]',?@obj?out??
    8. IF?@hr?=?0??
    9. BEGIN??
    10. ????exec?@hr?=?sp_oamethod?@obj,'[函数名]',@out?output,'[参数1]','[参数2]',...'[参数N]'??
    11. ????if?@hr?=?0??
    12. ????BEGIN??
    13. ????????print?@out??
    14. ????END??
    15. END??

    ?

    使用SQL格式的DLL

    以下这代码要放到master数据库执行

    [c-sharp] view plain copy print ?
    1. CREATE?PORC?[名字]?AS??
    2. BEGIN??
    3. DECLARE?@out?varchar(200)??
    4. EXEC?exec?sp_addextendedproc?'[函数名]',?'[名称空间|工程名??
    5. .dll'?--添加dll进来??
    6. EXEC?@out?=?[函数名]?[参数1]?[参数2]?...?[参数N]?--注意:函数名前不能用@函数名和参数之间,参数和参数之间,不能用,,我用过,报错了...??
    7. EXEC?exec?sp_sp_dropextendedproc'[函数名]'?--这里就是卸载了??

    ?

    直接执行外部程序,例如exe,黑客爱好这代码

    上面的代码黑客也爱好,为什么?我才不会告诉你他喜欢用sp_addextendproc来加载xp_cmdshell

    ?

    [c-sharp] view plain copy print ?
    1. --以下代码不是顺序执行,只是说明??
    2. EXEC?sp_configure?'show?advanced?options',?1;RECONFIGURE;EXEC?sp_configure?'xp_cmdshell',?1;RECONFIGURE;?--?开启xp_cmdshell,几乎不需要执行,多数人不会主要到??
    3. EXEC?sp_configure?'show?advanced?options',?0;RECONFIGURE;?--?这自然是关闭喽,要做啥非法事的话,就不要执行这句。??
    4. EXEC?sp_addextendedproc?xp_cmdshell,@dllname?='xplog70.dll'declare?@o?int?--这句是如果不能执行xp_cmdshell时候,例如报127错误时修复使用??
    5. sp_addextendedproc?'xp_cmdshell','xpsql70.dll'?--?同上??
    6. --以下是使用xp_comshell??
    7. --有返回值??
    8. DECLARE?@out?int??
    9. EXEC?@out?=?xp_cmdshell?'[文件名]'?'[参数1]'?'[参数2]'?...?'[参数N]'??
    10. 无返回值??
    11. EXEC?xp_comshenll'[文件名]'?'[参数1]'?'[参数2]'?...?'[参数N]',no_output??

    顶 0 踩 0

    (编辑:李大同)

    【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

      推荐文章
        热点阅读