Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java log4j2登录数据库varchar2错误_Java_Oracle_Log4j_Log4j2 - Fatal编程技术网

Java log4j2登录数据库varchar2错误

Java log4j2登录数据库varchar2错误,java,oracle,log4j,log4j2,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

我使用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>

感谢您的关注,

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

isUnicode="false"

在数据库中插入
log4j2
条目后,我出现了相同的错误。 我将插入超过1000个字符的列的数据类型从
varchar2
更改为
CLOB
。后来它成功了。
尝试将
ACIKLAMA
列的数据类型更改为
CLOB

错误不在于文本太长,而在于尝试在类型不同的列中插入long类型的值。您可以发布更多的log4j日志吗?当我试图将超过1000个字符传递给“ACIKLAMA”列时,我的数据库列是varchar2(4000),它可以工作,但当字符数增加超过1000时,它会出错。@EmreAltun请参阅
isUnicode="false"