分塊讀取Blob欄位資料 MSSQL

2022-04-02 21:01:14 字數 689 閱讀 4168

mssql中提供了乙個功能,能夠分塊讀取blob欄位中的資料,寫了乙個儲存過程**如下:

create procedure pro_get_file_data

@pkg_id int,

@ver varchar(50),

@start int,

@count int

as begin

--定義指標變數,必須為varbinary(16)

declare @ptrval varbinary(16);

--定義指標指向

select @ptrval = textptr(file_data)

from t_sys_pkg_file

where pkg_id = @pkg_id //獲取某條記錄的條件

and file_ver = @ver;

--獲取資料

if @ptrval is not null

readtext t_sys_pkg_file.file_data @ptrval @start @count;

end;

這個功能最大的好處就是:可以讀取blob欄位中的任意一部分資料。我主要使用在客戶端執行檔案公升級。

1、把客戶端所有業務封裝到dll中,由主程式呼叫時,載入dll及其業務模組;

5、暫適用於mssql,oracle的還沒有想好。

分塊讀取Blob欄位資料 Oracle

試過了mssql的分塊讀取blob欄位,又嘗試在oracle下完成,發現還是可行的。首先建立乙個儲存過程 create or replace procedure pro get blob i pkgid in integer,檔案id i mount in integer,複製資料數量 byte i...

BLOB欄位資料讀取

因為開發的時候公司的專案,所以只能說明不能截圖了,在這裡請大家諒解。blob這個字段,首先是存大資料的,本人倒是不建議在資料庫中存入那麼大的資料,影響伺服器效能。而且如果表沒有採用分布儲存,沒有考慮維護,一段時間就會很大,本人一點見解,表大小超過1g的容量時候,明顯影響資料讀取速度。這個扯的有點遠了...

顯示table欄位資料

select case when a.colorder 1 then d.name else end 表名,a.colorder 字段序號,a.name 欄位名,case when columnproperty a.id,a.name,isidentity 1 then else end 標識,ca...