1

我正在尝试将 HTML 内容插入表格的一列。

这是我的代码

String Query= "INSERT INTO MyTABLE (id,html) VALUES (?,?)";
insert = conn.prepareStatement(Query); 
insert.setInt(1, id);
insert.setString(2, html);

这是我的 DDL

CREATE TABLE MYTAB
(
    ID INTEGER NOT NULL,
    PRIMARY KEY (ID),
    HTML VARCHAR (10000) 
);

插入 html 字段时出现以下异常。

[8/26/13 4:50:01:344 EDT] 00000796 SystemOut     The value of a host variable in the EXECUTE or OPEN statement is out of range for its corresponding use.. SQLCODE=-302, SQLSTATE=22001, DRIVER=3.57.110

html 内容的大小非常大(它的大小可能会有所不同,因此无法为您提供确切的大小)。

我使用的原因varchar是,很容易拉入相同的 html 内容并显示在 UI 上,而不是将其转换为 xml 并定义一个 XML 列来代替 varchar 列。

你能帮我解决这个问题吗?

4

1 回答 1

1

有多大html?我很确定您在尝试插入超过 10k 字节时会收到此错误。

此外,我似乎还记得 DB2 中 varchar 属性的 32k 限制,所以也许您需要考虑使用 CLOB 而不是 varchar ...

干杯,

于 2013-08-26T17:50:58.533 回答