当前位置:七道奇文章资讯编程技术VC/C++编程
日期:2011-03-22 13:54:00  来源:本站整理

<b>用BCB编SQL Server2000的扩大存储历程</b>[VC/C++编程]

赞助商链接



  本文“<b>用BCB编SQL Server2000的扩大存储历程</b>[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

这个存储历程是计算 MD5 值的,可以用来举行密码认证加密等.

SQL Server 的扩大存储历程 (Extended Stored Procedure, 简称 XP) 是通过在 MSSQL 数据库注册封装在 .dll 里面的函数实现的,

而这个 .dll 应当按照 M$ 供应的法则, 并且要衔接 MSSQL 的库文件.由于 C++ Builder 自带的 MSSQL 库文件 OPENDS60.LIB 对比旧,

本文供应新版本的 OPENDS60.LIB 库文件, 支持 MSSQL 2000 版本的.

--------------------------------------------------------------------------------

【安装办法】

① 通过履行 SQL 语句注册存储历程:

翻开 Master 数据库,然后履行下面 SQL 语句

EXEC sp_addextendedproc 'xp_md5', 'd:\pathname\xp_md5.dll'

假如注册的文件不包含途径,只有文件名,MSSQL会在这个文件夹里面找这个.dll

C:\Program Files\Microsoft SQL Server\MSSQL\Binn

② 成立用来支持 select 语句的 MD5 函数 fn_md5

翻开想要履行这个存储历程的用户数据库,履行下面的 SQL:

CREATE FUNCTION fn_md5 (@string VARCHAR(8000))
RETURNS CHAR(32) AS
BEGIN
  DECLARE @hash CHAR(32)
  EXEC master.dbo.xp_md5 @string, @hash OUTPUT
  RETURN @hash
END

【利用办法】

① 直接履行, 由于 xp_md5 在 master 数据库里面, 所从前面必须有 master.

EXEC master.dbo.xp_md5 'Hello world!'

② 通过 fn_md5 支持 select 语句, 这个函数在用户当前利用的数据库里面.

SELECT dbo.fn_md5('Hello world!')

【程序阐明】

xp_md5.bpr   存储历程 C++ Builder 6.0 工程文件

OPENDS60.LIB  由于 C++ Builder 自带的文件对比旧,支持 MSSQL 7 的,这个程序带了一个 OPENDS60.LIB 文件,支持 MSSQL 2000

md5.h      Christophe Devine 原作,没做任何改正

md5.cpp     Christophe Devine 原作,没做任何改正

xp_md5_main.cpp 存储历程主程序文件,按照 Vic Mackey 的存储历程改正的

在成立工程的时刻用 DLL 向导生成便可以了,没有特别的要求,存储历程函数需求按规定的格局:

__declspec(dllexport) SRVRETCODE WINAPI xpname(SRV_PROC* pSrvProc)

此中 xpname 是存储历程的名,其他的都是规定的格局不能变

别的存储历程 .dll 文件也必须包含这个函数:

__declspec(dllexport) ULONG WINAPI __GetXpVersion()

具体的内容请下载源程序看,对比简单.

函数的阐明请参阅 MSDN 的这里:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/odssql/ods_6_ref_02_8k2t.asp


  以上是“<b>用BCB编SQL Server2000的扩大存储历程</b>[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • <b>hosts是什么 hosts文件在什么位置 若何改正hosts</b>
  • <b>在 Windows 8 中手动安装语言包</b>
  • <b>五个常见 PHP数据库问题</b>
  • Windows中Alt键的12个高效快速的利用本领介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • <b>详解MySQL存储历程参数有三种范例(in、out、inout)</b>
  • <b>Win8系统恢复出来经典的开始菜单的办法</b>
  • <b>Win8系统花屏怎么办 Win8系统花屏的办理办法</b>
  • <b>Windows 7系统下无线网卡安装</b>
  • <b>为什么 Linux不需求碎片整理</b>
  • <b>Windows 8中删除账户的几种办法(图)</b>
  • <b>教你如安在win7下配置路由器</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .