C++ Builder实现Microsoft SQL Server 2000 的扩展存储过程

爱搞机 2008-11-13 15:37

这个存储过程是计算 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

c++ builder 存储过程 mysql mssql_C++ Builder实现Microsoft SQL Server 2000 的扩展存储过程...相关推荐

  1. sqlserver2000换成mysql_将Microsoft SQL Server 2000数据库转换成MySQL数据库

    1. 下载并安装MyODBC.(如果是XP请下载5.3的旧版本,8.x的新版本运行有问题) 2. 创建一个空的MySQL数据库. 3. 在Windows >> 控制面板 >> ...

  2. Microsoft SQL Server 2000 中的数据转换服务 (DTS)

    摘自:http://www.microsoft.com/china/MSDN/library/data/sqlserver/DataTransformationServices(DTS)inMicro ...

  3. 使用Microsoft SQL Server 2000全文搜索功能构建Web搜索应用程序 --作者:Andrew B. Cencini...

    [摘要]了解如何充分利用SQL Server 2000的全文搜索功能.本文包含有关实现最大吞吐量和最佳性能的几点提示和技巧. 概述 使用Microsoft© SQL Server 2000的全文搜索功 ...

  4. Microsoft SQL Server 2000整合规划

    Microsoft SQL Server 2000整合规划 更新日期: 2004年06月24日 SQL Server技术文章 作者:Allan Hirt 投稿人:Tom Davidson和Shaun ...

  5. Microsoft SQL Server 2000清理LDF日志

    Microsoft SQL Server 2000 LDF日志文件清理方法. PS:由于该操作涉及数据库中的数据,请在操作前先做好数据备份. 1.开始-所有程序-Microsoft SQL Serve ...

  6. Microsoft SQL Server 2000 Service Pack 3a

    Microsoft SQL Server 2000 Service Pack 3a 下载 SQL Server 2000 Service Pack 3a (SP3a) - 最新.最完整的 SQL Se ...

  7. Microsoft SQL Server 2000 下载地址汇总

    Microsoft SQL Server 2000 简体中文版 4合  1 下载地址1:[replyview] [url]ftp://cnc-ftp.a5d.com/download/PSQL2K_4 ...

  8. Microsoft SQL Server 2000 简体中文企业版+SP4升级补丁

    SQL Server 2000 Service Pack  (SP4) 可解决自从 SQL Server 2000 推出以来所发现的特定问题. 因为 SQL Server Service Packs ...

  9. Microsoft SQL Server 2000(MSSQL)v6.5.0.4官方版

    名称:Microsoft SQL Server 2000(MSSQL)v6.5.0.4官方版 版本:6.5.04 软件大小:632KB 软件语言:简体中文 软件授权:免费版 应用平台:Win7/Win ...

  10. Microsoft SQL Server 2000 4in1 简体中文正式版+SP4 升级补丁

    Microsoft SQL Server 2000 4in1 简体中文正式版 集成简体中文个人版,简体中文标准版,简体中文企业版,简体中文开发版,ISO文件可刻录成光盘自动运行. CD-KEY:H6T ...

最新文章

  1. 常用的正则表达式(持续更新。。)
  2. mysql一些写常用命令
  3. Pytest Hooks方法之pytest_collection_modifyitems改变测试用例执行顺序
  4. 大型网站技术架构:核心原理与案例分析 mobi_大数据技术经典学习路线
  5. C语言去掉字符串的换行符
  6. 【前端】【labelme】labelme 保存 imageData 的 base64编码机制 —— python 源码探究与 js 实现
  7. CC学iOS杂记 001_Device
  8. 通过EasyRecovery恢复删除的音频
  9. html网页文本框无法输入,浏览器打开网页文本框无法输入文字如何解决
  10. SpringBoot之下载Excel
  11. 微积分小糊涂,国庆节大快乐!
  12. 冒险岛 mysql 添加账号密码_Win7系统玩冒险岛079单机版输入账号密码后出现error38怎么办...
  13. 佳能扫描仪按下按钮后自动打开phtoshop怎么办
  14. 川土微 数字隔离器 CA-IS3722HS可替代ADUM1201ARZ
  15. MS WORD 无法修改标题级别的解决方案
  16. 服务器2003共享文件夹设置密码,win2003 server r2 设置不需要密码验证的共享文件访问权限(即匿名访问)...
  17. “芯片”=“集成电路”=“半导体”吗?
  18. 了解Windows 10中的新开始菜单
  19. sql自动生成汉语拼音和首字母函数[转载]
  20. Idea导包自动去除Import xxx.*里的星号

热门文章

  1. 安装scrapy报错问题解决
  2. Java基础知识强化84:System类之exit()方法和currentTimeMillis()方法
  3. 包邮送50本数据分析、MySQL、Python相关书籍!
  4. 应用场景|R包分类整理
  5. 安装CentOS7虚拟机
  6. 07Java Server Pages
  7. java-String类的其他功能
  8. current_session_context_class
  9. 如何让谷歌取消自动重定向
  10. TCP-UDP混合使用模式