1

接続文字列で、制限を超えたときに varchar を切り捨てるトリガーまたはパラメーターを作成することは可能ですか?

挿入/更新前にトリガーを作成しようとしましたが、引き続き次の例外が発生します。

java.io.IOException: java.sql.BatchUpdateException: データ例外: 文字列データ、org.apache.gora.sql.store.SqlStore.flush(SqlStore.java:340) で org.apache.gora.sql で右側が切り捨てられました。 store.SqlStore.close(SqlStore.java:185)

ゴラはナッチを使っているからです。

ありがとう

EDIT1:

トリガーは次のとおりです。 CREATE TRIGGER typeconversionUpdate BEFORE UPDATE ON WEBPAGE REFERENCING NEW AS newrow FOR EACH ROW SET newrow.TEXT=''

そして create ステートメント:

CREATE TABLE WEBPAGE (id VARCHAR(512) PRIMARY KEY,headers BLOB,text VARCHAR(32000),status INTEGER,markers BLOB,parseStatus BLOB,modifiedTime BIGINT,score FLOAT,typ VARCHAR(32),baseUrl VARCHAR(512),content BLOB(65536),title VARCHAR(512),reprUrl VARCHAR(512),fetchInterval INTEGER,prevFetchTime BIGINT,inlinks BLOB,prevSignature BLOB,outlinks BLOB,fetchTime BIGINT,retriesSinceFetch INTEGER,protocolStatus BLOB,signature BLOB,metadata BLOB)
4

1 に答える 1

1

考えられる解決策は、問題の列の最大サイズを増やすことです。

ALTER TABLE WEBPAGE ALTER COLUMN TEXT SET DATA TYPE VARCHAR(1000000)

トリガー ソリューションは、バージョン 2.2.9 までの HSQLDB では使用できませんが、次のバージョンでは使用できるようになる可能性があります。

于 2012-08-14T19:38:35.387 に答える