我有以下情况,
在我的数据库表中,我有一个用于存储xml数据的列。当我尝试使用Insert查询将数据插入此表时,我得到的字符串太大异常。
我尝试将类型保持为XML
和VACHAR(32000)
,我得到了同样的例外。
任何人都可以帮我吗?
更新
这是我在插入时遇到的错误。
The string constant beginning with "'<!--Sample XML file generated by XMLSpy v2013 sp1 (http://www.altova." is too long.. SQLCODE=-102, SQLSTATE=54002, DRIVER=3.59.81
答案 0 :(得分:1)
XMLPARSE函数对于将文本字符串转换为DB2的XML数据类型非常有用。您是否尝试过调用XMLPARSE来包装XML文本?
如果您的XML文档位于文件中,则可以添加UDF,以便更轻松地将文件内容直接提取到XML列中。
答案 1 :(得分:0)
您可以设置表格中每列的大小。尝试将默认大小(不是最大大小)更改为合适的大小。
答案 2 :(得分:0)
这有点傻但答案是使用XMLPARSE
并将您的XML字符串分段为32K块并添加CLOB
语句以覆盖字符串大小限制
XMLPARSE ( DOCUMENT
CLOB('<?xml version="1.0"?>') ||
'<aLotOfVeryBigXmlData32kPart1 ......
' ||
'<aLotOfVeryBigXmlData32kPart2 ......
' ||
... etc ...
'<aLotOfVeryBigXmlData32kPartN ......
' )