写了一个CLR 扩展DLL,在SQL 中直接读写文件的扩展函数。直接将数据变量读写到文件中。

程序使用VS2010编写,语言Vb.net。


包括4个标量函数:

GetFile_Str16(@PathFile NVARCHAR(max))--返回:NVARCHAR(max--读取【文件】成【16进制数字文本】

PutFile_Str16(@PathFile NVARCHAR(max),@Str16 NVARCHAR(max))--返回:Bit --用【16进制数字文本】生成 【文件】


GetFile_Binary(@PathFile NVARCHAR(max))--返回:VarBinary(Max) --读取【文件】成【变长二进制数据VarBinary】

PutFile_Binary(@PathFile NVARCHAR(max),@Bin VarBinary(Max))--返回:Bit --用【变长二进制数据VarBinary】 生成【文件】


嗯!为防止读取时,目标文件被其它程序打开(锁定),导致读取失败。

GetFile_Str16、GetFile_Binary,在目标文件被锁定的情况下,会试图 复制目标文件建立副本,来进行读取。


附件包括:DLL文件、VB.net源代码、安装(部署)T-SQL脚本、卸载T-SQL脚本、测试T-SQL脚本。

以及:存储过程【FileToBin】,它用存储过程方式实现GetFile_Binary 的功能。