溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

MS-SQL CLR 直接讀寫(xiě)文件,飛一般的感覺(jué)!

發(fā)布時(shí)間:2020-07-23 06:56:31 來(lái)源:網(wǎng)絡(luò) 閱讀:1813 作者:lifox 欄目:數(shù)據(jù)庫(kù)

寫(xiě)了一個(gè)CLR 擴(kuò)展DLL,在SQL 中直接讀寫(xiě)文件的擴(kuò)展函數(shù)。直接將數(shù)據(jù)變量讀寫(xiě)到文件中。

程序使用VS2010編寫(xiě),語(yǔ)言Vb.net。


包括4個(gè)標(biāo)量函數(shù):

GetFile_Str16(@PathFile NVARCHAR(max))--返回:NVARCHAR(max--讀取【文件】成【16進(jìn)制數(shù)字文本】

PutFile_Str16(@PathFile NVARCHAR(max),@Str16 NVARCHAR(max))--返回:Bit --用【16進(jìn)制數(shù)字文本】生成 【文件】


GetFile_Binary(@PathFile NVARCHAR(max))--返回:VarBinary(Max) --讀取【文件】成【變長(zhǎng)二進(jìn)制數(shù)據(jù)VarBinary】

PutFile_Binary(@PathFile NVARCHAR(max),@Bin VarBinary(Max))--返回:Bit --用【變長(zhǎng)二進(jìn)制數(shù)據(jù)VarBinary】 生成【文件】


嗯!為防止讀取時(shí),目標(biāo)文件被其它程序打開(kāi)(鎖定),導(dǎo)致讀取失敗。

GetFile_Str16、GetFile_Binary,在目標(biāo)文件被鎖定的情況下,會(huì)試圖 復(fù)制目標(biāo)文件建立副本,來(lái)進(jìn)行讀取。


附件包括:DLL文件、VB.net源代碼、安裝(部署)T-SQL腳本、卸載T-SQL腳本、測(cè)試T-SQL腳本。

以及:存儲(chǔ)過(guò)程【FileToBin】,它用存儲(chǔ)過(guò)程方式實(shí)現(xiàn)GetFile_Binary 的功能。

附件:http://down.51cto.com/data/2367601
向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI