Oracle 11g透明数据加密安全特性解析
2009-04-16 13:13:10 来源:WEB开发网3、生成指纹图像和匿名的元数据
为了完成ANONYMOUS和THUMBPRINT列的填充,我将使用一些技巧:
(1)首先,我将通过调用setModel 方法载入ORDDicom对象模型,这个对象模型必须在调用其它方法之前载入。
(2)然后使用processCopy方法生成一张150x200的JPEG图像,将其存储到THUMBPRINT列中。
(3)最后,我使用makeAnonymous方法创建一个匿名版本的DICOM_IMAGE列数据,并将其存储到ANONYMOUS列中。
清单6 显示了如何在最初被载入MIPS.PATIENT_IMAGES表中的所有行上执行这些方法。
清单6 从前面载入的ORDDicom对象创建和存储匿名的病人信息和指纹图像:
1)将DICOM模型载入到内存中。
2)将原始的DICOM文件元数据转换成对应的元素。
3)基于原始的DICOM影像以JPEG格式创建一个缩略图。
4)生成一个匿名的DICOM文件版本。
5)将新的信息保存到它们对应的SecureFile LOB中。
SET SERVEROUTPUT ON
DECLARE
dcm_row ORDSYS.ORDDICOM;
BEGIN
-- 载入DICOM数据模型
ord_dicom.setDatamodel;
-- 在医学图像表中遍历所有行
FOR dcm_row IN (
SELECT
patient_id
,dicom_image
,anonymous
,thumbprint
FROM mips.patient_images
FOR UPDATE
)
LOOP
BEGIN
-----
--通过setProperties存储过程初始化DICOM SecureFile LOB列属性
-----
dcm_row.dicom_image.setProperties();
-----
-- 在原始DICOM影像的基础上构建一个缩略图图像
-----
dcm_row.dicom_image.processCopy('fileFormat=JPEG fixedScale=150,200', dcm_row.thumbprint);
-----
-- 通过makeAnonymous()函数生成DICOM对象的匿名版本
-----
dcm_row.dicom_image.makeAnonymous(genUID(dcm_row.patient_id), dcm_row.anonymous);
-----
-- 将新产生的信息保存到它们对应的SecureFile LOB中
-----
UPDATE mips.patient_images
SET dicom_image = dcm_row.dicom_image
,anonymous = dcm_row.anonymous
,thumbprint = dcm_row.thumbprint
WHERE patient_id = dcm_row.patient_id;
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('Error processing image for Patient ID #' || dcm_row.patient_id);
END;
END LOOP;
COMMIT;
END;
/
4、使用ORDDicom和ORDImage列的内容
- ››oracle 中 UPDATE nowait 的使用方法
- ››Oracle ORA-12560解决方法
- ››Oracle 10g RAC 常用维护命令
- ››Oracle如何在ASM中定位文件的分布
- ››Oracle的DBMS_RANDOM.STRING 的用法
- ››oracle 外部表导入时间日期类型数据,多字段导入
- ››Oracle中查找重复记录
- ››oracle修改用户登录密码
- ››Oracle创建删除用户、角色、表空间、导入导出等命...
- ››Oracle中登陆时报ORA-28000: the account is lock...
- ››Oracle数据库在配置文件中更改最大连接数
- ››Oracle中在pl/sql developer修改表的两种方式
更多精彩
赞助商链接