Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Plsql 如何将XML类型数据转换为原始类型数据_Plsql_Plsqldeveloper - Fatal编程技术网

Plsql 如何将XML类型数据转换为原始类型数据

Plsql 如何将XML类型数据转换为原始类型数据,plsql,plsqldeveloper,Plsql,Plsqldeveloper,我正在做一些事情,必须将XML类型的数据转换为原始数据,但我没有得到它。 我曾尝试将XML数据转换为varchar2,然后使用Cast_to_raw,但它显示了十六进制到原始的转换错误。请告诉我怎么做 示例描述了从xmltype到blob元素的转换。如果必须获取原始值,请执行dbms\U substr declare dest_offset integer; src_offset integer; lang_context integer; warnin

我正在做一些事情,必须将XML类型的数据转换为原始数据,但我没有得到它。
我曾尝试将XML数据转换为varchar2,然后使用Cast_to_raw,但它显示了十六进制到原始的转换错误。请告诉我怎么做

示例描述了从xmltype到blob元素的转换。如果必须获取原始值,请执行dbms\U substr

declare   
   dest_offset   integer;
   src_offset    integer;
   lang_context  integer;
   warning       varchar2(1000);
   v_xml_object   xmltype;
   v_blob           blob; 
   v_clob       clob;
begin
   --get example xmltype
   select dbms_xmlgen.getXmlType('select * from user_objects where rownum < 10') into v_xml_object from dual;
   --convert xmltype to clob
   v_clob := v_xml_object.getClobVal();   
   --initi variable
   dbms_lob.createtemporary(v_blob, FALSE); 
   dest_offset := 1;
   src_offset := 1;
   lang_context := 0;
   -- convert to a BLOB here:
   dbms_lob.converttoblob( v_blob, v_clob,    dbms_lob.getlength( v_clob ), dest_offset, src_offset, 0, lang_context, warning );
   dbms_output.put_line(warning);
   dbms_output.put_line(dbms_lob.substr(v_blob,length(v_blob)));
end;   
声明
dest_偏移量整数;
src_偏移量整数;
lang_上下文整数;
警告varchar2(1000);
v_xml_对象xmltype;
v_blob blob;
v_clob clob;
开始
--获取示例xmltype
从dual中选择dbms_xmlgen.getXmlType('select*from user_objects,其中rownum<10')到v_xml_object;
--将xmltype转换为clob
v_clob:=v_xml_object.getClobVal();
--初始变量
dbms_lob.createtemporary(v_blob,FALSE);
目的地偏移量:=1;
src_偏移量:=1;
语言上下文:=0;
--在此处转换为BLOB:
dbms_lob.converttoblob(v_blob,v_clob,dbms_lob.getlength(v_clob),dest_offset,src_offset,0,lang_context,警告);
dbms_output.put_line(警告);
dbms_output.put_line(dbms_lob.substr(v_blob,length(v_blob));
结束;