新聞中心
以下的文章主要是介紹SQL Server數(shù)據(jù)庫(kù)對(duì)圖像數(shù)據(jù)之存儲(chǔ)機(jī)制介紹,我們大家都知道在一個(gè)完善的醫(yī)院中信息MIS 圖像數(shù)據(jù)的實(shí)際存取是很重要的,比如X光片、CT像片的保存。一方面,這些圖像數(shù)據(jù)在遠(yuǎn)程診療為準(zhǔn)確診斷病情提供了重要的依據(jù)。

創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站制作、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的蒙自網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
另一方面,也為快速查閱病人資料提供了基本條件。圖像數(shù)據(jù)的存取在其它應(yīng)用系統(tǒng)如GIS中也有廣泛的應(yīng)用。
1、SQL Server中圖像數(shù)據(jù)的存儲(chǔ)機(jī)制
在MIS SQL Server數(shù)據(jù)庫(kù) 中,對(duì)于小于 8000 個(gè)字節(jié)的圖像數(shù)據(jù)可以用二進(jìn)制型(binary、varbinary)來(lái)表示。但通常要保存的一些醫(yī)學(xué)影像圖片都會(huì)大于 8000個(gè)字節(jié)。SQL Server提供了一種機(jī)制,能存儲(chǔ)每行大到 2GB的二進(jìn)制對(duì)象(BLOB),這類對(duì)象可包括image、text和ntext三種數(shù)據(jù)類型。Image數(shù)據(jù)類型存儲(chǔ)的是二進(jìn)制數(shù)據(jù),***長(zhǎng)度是 231-1 (2,147,483,647)個(gè)字節(jié)。
BLOB數(shù)據(jù)在MIS SQL Server系統(tǒng)中的存儲(chǔ)方式不同于普通的數(shù)據(jù)類型,對(duì)于普通類型的數(shù)據(jù)系統(tǒng)直接在用戶定義的字段上存儲(chǔ)數(shù)據(jù)值,而對(duì)于BLOB類型數(shù)據(jù),系統(tǒng)開(kāi)辟新的存儲(chǔ)頁(yè)面來(lái)存放這些數(shù)據(jù),表中BLOB類型數(shù)據(jù)字段存放的僅是一個(gè)16個(gè)字節(jié)的指針,該指針指向存放該條記錄的BLOB數(shù)據(jù)的頁(yè)面。
2、SQL Server中圖像數(shù)據(jù)的存取
在MIS SQL Server數(shù)據(jù)庫(kù)中,當(dāng)數(shù)據(jù)小于 8000 個(gè)字節(jié)時(shí),可以用普通的SQL操縱語(yǔ)句(SELECT、INSERT、UPDATE、DELETE)來(lái)完成對(duì)字段的操縱,當(dāng)數(shù)據(jù)大于8000個(gè)字節(jié)時(shí),SQL提供了 WRITETEXT 、READTEXT和UPDATETEXT這三個(gè)函數(shù)來(lái)讀取和修改數(shù)據(jù)。這三個(gè)函數(shù)的使用方法為:
(1)WRITETEXT {table.column text_ptr}[WITH LOG] {data}
table.column為表中的字段,text_ptr為一個(gè)16個(gè)字節(jié)的指針,data為要寫的數(shù)據(jù)值。可選參數(shù)WITH LOG表示是否要寫入日志文件中。
例:
DECLARE @ptrval binary(16) --指針
- SELECT @ptrval = TEXTPTR(img_ct) FROM zy_ct WHERE id_ct = 20010101001
- WRITETEXT zy_ct.img_ct @ptrval 0x024324142342134214213421421454353452341
(2)READTEXT {table.column text_ptr offset size} [HOLDLOCK]
table.column為表中的字段,text_ptr為一個(gè)16個(gè)字節(jié)的指針,offset 為偏移量,即從第幾個(gè)字節(jié)開(kāi)始讀數(shù)據(jù),size為要讀的字節(jié)數(shù),HOLDLOCK 為在讀數(shù)據(jù)中是否充許其他用戶修改該數(shù)據(jù)。
例:
- DECLARE @ptrval varbinary(16)
- SELECT @ptrval = TEXTPTR(img_ct) FROM zy_ct WHERE id_ct = 20010101001
- READTEXT zy_ct.img_ct @ptrval 1 25
(3) UPDATETEXT
- {table_name.dest_column_name dest_text_ptr}
- {NULL|insert_offset}{ NULL | delete_length}
- [WITH LOG][ inserted_data|
- {table_name.src_column_name src_text_ptr}
table_name.dest_column_name 為要修改的text, ntext, 或 image字段;dest_text_ptr為指向其的指針;insert_offset為偏移量,對(duì)于text和image為從第幾開(kāi)始字節(jié)開(kāi)始寫,對(duì)于ntext為從第幾個(gè)字符(雙字節(jié))開(kāi)始寫;delete_length為從insert_offset開(kāi)始刪除delete_length長(zhǎng)度的字節(jié)(符),為0時(shí)不刪除,為NULL時(shí)為刪除從insert_offset開(kāi)始到結(jié)束的所有數(shù)據(jù)。要插入的數(shù)據(jù)為 inserted_data為,也可是表table_name的src_column_name字段中指針 src_text_ptr所指數(shù)據(jù)。
以上的相關(guān)內(nèi)容就是對(duì)SQL Server數(shù)據(jù)庫(kù)對(duì)圖像數(shù)據(jù)的存儲(chǔ)機(jī)制的部分內(nèi)容的介紹,望你能有所收獲。
分享標(biāo)題:SQLServer數(shù)據(jù)庫(kù)對(duì)圖像數(shù)據(jù)之存儲(chǔ)機(jī)制
文章地址:http://fisionsoft.com.cn/article/cddisss.html


咨詢
建站咨詢
