log4j2登录数据库varchar2错误

时间:2014-09-29 09:05:01

标签: java oracle log4j log4j2

我正在使用log4j2来记录数据库。我的代码在下面;

<JDBC name="databaseAppender" tableName="KRITIK_KISISEL_BILGI_LOG" bufferSize="1">
    <DataSource jndiName="jdbc/hope" />
    <Column name="ID" literal="SEQ_KRITIK_KISISEL_BILGI_LOG.nextval" />
    <Column name="KULLANICI_ID" pattern="%X{kkb_userid}" />
    <Column name="KULLANICI_IP" pattern="%X{kkb_userip}" />
    <Column name="ISLEM_TARIHI" literal="TRUNC(sysdate)" />
    <Column name="ISLEM_AKIS_YOLU" pattern="%m" />
    <Column name="ACIKLAMA" pattern="%X{kkb_kriter}" isClob="false"/>
    <Column name="VERSIYON" literal="0" />
    <Column name="TANITIM_ZAMANI" isEventTimestamp="true" />
    <Column name="TANITAN_KULLANICI_ID" pattern="%X{kkb_tanitanUserid}" />
    <Column name="LOG_TIPI_ID" pattern="%X{kkb_logTipi}" />
    <Column name="KULLANICI_KODU" pattern="%X{kkb_kullaniciKodu}" />
    <Column name="SUNUCU_ADI" pattern="%X{kkb_serverName}" />
</JDBC>

但当我将超过1000个角色传递给&#34; ACIKLAMA&#34;我正在获取ORA-01461:只能插入一个LONG值才能插入LONG列错误。 Hovewer,我的&#34; ACIKLAMA&#34;列是varchar2(4000)。那么,为什么我不能在我的&#34; ACIKLAMA&#34;中插入1000到4000个字符。柱;

错误代码是:

ORA-01461: can bind a LONG value only for insert into a LONG column 

谢谢你的兴趣,

2 个答案:

答案 0 :(得分:0)

我找到了解决问题的方法;通过将此代码添加到我的log4j2.xml文件,问题得以解决。

isUnicode="false"

答案 1 :(得分:0)

log4j2条目插入数据库后,我遇到了同样的错误。 我更改了从varchar2CLOB已插入超过1000个字符的列的数据类型。之后它奏效了。 尝试将ACIKLAMA列的数据类型更改为CLOB

相关问题