程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> 在Oracle模式中定義媒體對象有哪些

在Oracle模式中定義媒體對象有哪些

編輯:Oracle數據庫基礎

Oracle中提供的一些相關媒體對象與過程都是在Oracle模式裡去定義建立包含 ORDDicom 列的表。如果你在Oracle模式的相關操作裡存在不解之處的話,你就可以浏覽以下的文章對其進行了解。

本教程使用一個包含四個列的簡單表:一個整數標識符 (id)、一個 ORDSYS.ORDDicom 對象 (dicom)、一個 ORDSYS.ORDImage 對象 (imageThumb) 和另一個ORDSYS.ORDDicom 對象 (anonDicom)。注意,Oracle 提供的所有多媒體對象和過程都在Oracle模式中定義。執行以下步驟:

1.在 SQL*Plus 會話中,執行以下命令:

  1. @create_dicom_table  

create_dicom_table.sql代碼如下:

Java代碼

  1. set echo on;   
  2. drop table medical_image_table;   
  3. create table medical_image_table   
  4. (id integer primary key,   
  5. dicom ordsys.orddicom,   
  6. imageThumb ordsys.ordimage,   
  7. anonDicom ordsys.orddicom);   
  8. set echo on;  
  9. drop table medical_image_table;  
  10. create table medical_image_table  
  11. (id integer primary key,  
  12. dicom ordsys.orddicom,  
  13. imageThumb ordsys.ordimage,  
  14. anonDicom ordsys.orddicom);  

導入醫學圖像

該主題描述了如何將數據庫文件系統中的醫學圖像加載到新創建的medical_image_table表中。注意,在大多數情況下,您希望使用 SQL*Loader 而不是本例所示的Oracle模式中定義中 ORDDicom 導入方法加載數據。

創建一個 PL/SQL 過程image_import(),該過程將把一個新行插入medical_image_table,將文件名中的 DICOM 數據導入新創建的 ORDDICOM 對象,然後將 DICOM 屬性提取到元數據屬性(基於默認映射文檔)和 ORDDICOM 對象的 UID 屬性。注意,默認映射文檔ordcmmp.XML在安裝期間加載。

您可以創建一個自定義映射文檔,並將屬性提取到單獨的 XML 文檔中,但該主題不在本教程的討論范圍內。

執行以下步驟:

1.在 SQL*Plus 會話中,輸入以下命令:

  1. @create_import_procedure  

create_import_procedure.sql代碼如下:

Java代碼

  1. -- Set Data Model Repository   
  2. execute ordsys.ord_dicom.setDataModel();   
  3. create or replace procedure image_import
    (dest_id number, filename varchar2) is   
  4. dcm ordsys.orddicom;   
  5. begin   
  6. delete from medical_image_table where id 
    dest_id;   
  7. insert into medical_image_table 
    (id, dicom, imageThumb, anonDicom)   
  8. values (dest_id, ordsys.orddicom
    (‘file’, ‘IMAGEDIR’, filename, 0),   
  9. ordsys.ordimage.init(), ordsys.orddicom())   
  10. returning dicom into dcm;   
  11. dcm.import(1);   
  12. update medical_image_table set dicom=
    dcm where id=dest_id;   
  13. commit;   
  14. end;   
  15. /   
  16. show errors;   
  17. -- Set Data Model Repository  
  18. execute ordsys.ord_dicom.setDataModel();  
  19. create or replace procedure image_import
    (dest_id number, filename varchar2) is  
  20. dcm ordsys.orddicom;  
  21. begin  
  22. delete from medical_image_table where id
     = dest_id;  
  23. insert into medical_image_table
     (id, dicom, imageThumb, anonDicom)  
  24. values (dest_id, ordsys.orddicom
    (‘file’, ‘IMAGEDIR’, filename, 0),  
  25. ordsys.ordimage.init(), ordsys.orddicom())  
  26. returning dicom into dcm;  
  27. dcm.import(1);  
  28. update medical_image_table set dicom=
    dcm where id=dest_id;  
  29. commit;  
  30. end;  
  31. /  
  32. show errors;  

2.現在,您可以執行新創建的過程,以導入示例 DICOM 文件。在 SQL*Plus 會話中,輸入以下命令:

Java代碼

  1. execute image_import(1,'179.dcm');   
  2. execute image_import(1,'179.dcm');  
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved