0

我的数据框的一列包含文本,字符超过 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 个字符。您正在尝试使用超过 255 个字符(即 341 个字符)的值更新列,因此更新失败。PCP_DOCS

假设列数据类型是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 回答