Chinaunix首页 | 论坛 | 博客
  • 博客访问: 47596
  • 博文数量: 68
  • 博客积分: 1650
  • 博客等级: 上尉
  • 技术积分: 720
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-15 15:59
文章分类

全部博文(68)

文章存档

2011年(68)

我的朋友
最近访客

分类: Mysql/postgreSQL

2011-04-06 11:35:46

SQL Server 2000的扩展存储过程(ExtendedStoredProcedure,简称XP)是通过在MSSQL数据库注册封装在.dll里面的函数实现的。
  【安装方法】
   ①通过执行SQL语句注册存储过程:
   打开Master数据库,然后执行下面SQL语句
   EXECsp_addextendedprocxp_md5,d:\pathname\xp_md5.dll
   如果注册的文件不包含路径,只有文件名,MSSQL会在这个文件夹里面找这个.dll
   C:\ProgramFiles\MicrosoftSQLServer\MSSQL\Binn
   ②创建用来支持select语句的MD5函数fn_md5
   打开想要执行这个存储过程的用户数据库,执行下面的SQL:
   CREATEFUNCTIONfn_md5(@stringVARCHAR(8000))
   RETURNSCHAR(32)AS
   BEGIN
   DECLARE@hashCHAR(32)
   EXECmaster.dbo.xp_md5@string,@hashOUTPUT
   RETURN@hash
   END
   【使用方法】
   ①直接执行,由于xp_md5在master数据库里面,所以前面必须有master.
   EXECmaster.dbo.xp_md5Helloworld!
   ②通过fn_md5支持select语句,这个函数在用户当前使用的数据库里面.
   SELECTdbo.fn_md5(Helloworld!)
   【程序说明】
   xp_md5.bpr存储过程C++Builder6.0工程文件
   OPENDS60.LIB由于C++Builder自带的文件比较旧,支持MSSQL7的,这个程序带了一个OPENDS60.LIB文件,支持MSSQL2000
   md5.hChristopheDevine原作,没做任何修改
   md5.cppChristopheDevine原作,没做任何修改
   xp_md5_main.cpp存储过程主程序文件,根据VicMackey的存储过程修改的
   在创建工程的时候用DLL向导生成就可以了,没有特殊的要求,存储过程函数需要按规定的格式:
   __declspec(dllexport)SRVRETCODEWINAPIxpname(SRV_PROC*pSrvProc)
   其中xpname是存储过程的名,其他的都是规定的格式不能变
   另外存储过程.dll文件也必须包含这个函数:
   __declspec(dllexport)ULONGWINAPI__GetXpVersion()
   详细的内容请下载源程序看,比较简单。的内容少玖零度就整理这么多了。
阅读(204) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~