我有一个带有 CLOB 列的 HSQL 表。我使用 HSQL 2.2.8 作为测试用例的内存数据库。我试图从文本文件中插入一个 41.169 字节的数据条目,但我总是收到一个异常,告诉我“字符串数据,右截断”,我认为该条目太大而无法插入,因此被截断。所以我尝试插入较小的数据条目,效果很好,但最后我真的需要能够插入大条目。
该表是使用以下 SQL 命令创建的:
CREATE TABLE documents (
identifier VARCHAR(255) NOT NULL,
documentdata CLOB,
PRIMARY KEY(identifier)
);
我正在尝试使用以下 SQL 命令插入数据:
MERGE INTO documents
USING (VALUES(:identifier,:documentdata))
AS vals(identifier,documentdata)
ON documents.identifier=vals.identifier
WHEN NOT MATCHED THEN INSERT VALUES vals.identifier, vals.documentdata;
在此查询中 :identifier 和 :documentdata 被相应的值替换。
所以我的问题是。我可能在某处配置的 HSQL 中的 CLOB 条目的大小是否存在一些限制。我无法理解这个错误,因为我认为 CLOB 可以让我保存任意大小的数据条目。