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は、xml に変換して varchar 列の代わりに XML 列を定義するよりも、同じ html コンテンツを取得して UI に表示する方が簡単だからです。

この問題を解決するために私を助けてもらえますか?

4

1 に答える 1

1

の大きさはhtml?10k バイト以上を挿入しようとすると、このエラーが発生することは間違いありません。

また、DB2 の varchar 属性の 32k の制限を思い出すように思われるので、おそらく varchar ではなく CLOB の使用を検討する必要があります...

乾杯、

于 2013-08-26T17:50:58.533 に答える