我正在尝试将来自CLOB的一些XML数据转换为XMLType列.
XML有一些突出的字符作为值(文档用法语写).
这是指令的样子:
insert into mytable (id, xmldata) values (p_id, xmltype(p_xmldata));
Run Code Online (Sandbox Code Playgroud)
p_id并且p_xmldata是先前从原始表中提取的变量.
我认为法语字符阻止XMLType正常工作.或者格式错误的XML标签?问题是,该表包含3k + XML文档,只有2个在XMLType列中转换.
更新:这些是我尝试简单时遇到的错误:
select xmltype(xmldata) from mytable
ORA-06502: PL/SQL: numeric or value error
ORA-06512: at "SYS.XMLTYPE", line 254
ORA-06512: at line 1
Run Code Online (Sandbox Code Playgroud) 我已经使用此C#代码拦截了“ admin”一词
Byte[] inputBytes = Encoding.UTF8.GetBytes(stringpassword);
SHA512 shaM = new SHA512Managed();
Byte[] hashedBytes = shaM.ComputeHash(inputBytes);
string hashedpassword = BitConverter.ToString(hashedBytes);
Run Code Online (Sandbox Code Playgroud)
并获得了此结果“ DA-EF-49-53-B9-78-33-65-CA-D6-61-52-23-72-05-06-CC”。和我使用SQL存储过程加密相同的单词“ admin”
SET @password = HASHBYTES('SHA2_512',@password);
Run Code Online (Sandbox Code Playgroud)
并将其作为输出“ÇDËv*]¤RùèTýÁàç¥* 8_#óê±Ø“ÔrcMúÇÓN¼5Ñj·ûŠÈ”
为什么这些方法之间有区别?