Java EXECUTE或OPEN语句中主机变量的值超出范围错误
我正在尝试将HTML内容插入表的一列中 这是我的密码Java EXECUTE或OPEN语句中主机变量的值超出范围错误,java,sql,db2,varchar,Java,Sql,Db2,Varchar,我正在尝试将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
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列
你能帮我解决这个问题吗?html有多大?我敢肯定,当您尝试插入超过10k字节时,会出现此错误 我还记得DB2中varchar属性的32k限制,所以您可能需要考虑使用CLOB而不是varchar
干杯,html有多大?我敢肯定,当您尝试插入超过10k字节时,会出现此错误 我还记得DB2中varchar属性的32k限制,所以您可能需要考虑使用CLOB而不是varchar
干杯,我正在动态地从另一个应用程序获取html内容作为字符串,因此不确定其大小,它不是磁盘中的文件,因此我无法测量它。因此,使用CLOB,我可以简单地以字符串形式查询内容并显示在UI上吗?Sun/Oracle有一个。我正在以字符串形式动态地从另一个应用程序获取html内容,因此不确定其大小,它不是磁盘中的文件,因此我无法测量它。因此,使用CLOB可以简单地查询字符串形式的内容并显示在UI上吗?Sun/Oracle有一个。