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) |