0

データ フレームの 1 つの列にテキストが含まれており、文字数が 255 を超えています。dbWritetable を oracle に使用すると、次のエラーが発生しました。

    Error in .local(conn, statement, ...) : 
    execute JDBC update query failed in dbSendUpdate (ORA-12899: value too large for column "DWTEST"."PCP_DOCS"."WORDS" (actual: 341, maximum: 255)
    )

誰でも助けることができますか?前もって感謝します

4

2 に答える 2

1

この列は 255 文字しか受け入れられません。そして、341 文字を入力しようとしています。したがって、エラー。

于 2015-05-19T06:44:59.430 に答える
1

ORA-12899: 列"DWTEST"."PCP_DOCS"."WORDS"の値が大きすぎます(実際: 341、最大: 255)

このエラーはWORDS、テーブル内の列が最大255 文字でPCP_DOCS作成されたことを意味します。255 文字(つまり 341 文字)を超える値で列を更新しようとしているため、更新に失敗しています。

列のデータ型がVARCHAR2であると仮定すると、列を変更してサイズを増やすことができます。

ALTER TABLE pcp_docs MODIFY (words VARCHAR2(500));

例えば、

SQL> create table t(col varchar2(2));

Table created.

SQL>
SQL> insert into t values('abc');
insert into t values('abc')
                     *
ERROR at line 1:
ORA-12899: value too large for column "LALIT"."T"."COL" (actual: 3, maximum: 2)


SQL>
SQL> alter table t modify(col varchar2(10));

Table altered.

SQL>
SQL> insert into t values('abc');

1 row created.

SQL>
于 2015-05-19T07:04:10.773 に答える