2014-09-29 2 views
0

Я использую log4j2 для регистрации данных. мой код ниже;log4j2 loging database varchar2 error

<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 символов в к колонку «Açıklama» Я получаю ORA-01461: может связать LONG значения только для вставки в длинную ошибку столбца. Hovewer, моя колонка «ACIKLAMA» - varchar2 (4000). Итак, почему я не могу вставить от 1000 до 4000 символов в колонку «ACIKLAMA»;

Код ошибки:

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

спасибо за интерес,

+0

Ошибка не в том, что ваш текст слишком длинный, но вы пытаетесь вставить значение типа LONG в столбец, который не того же типа. Не могли бы вы разместить больше log4j logging? –

+0

мой столбец базы данных varchar2 (4000), когда я пытался передать более чем 1000 символов в столбец «ACIKLAMA», он работает, но когда число символов увеличивается более 1000, оно дает ошибку. – EmreAltun

+0

@EmreAltun См. Http://www.dba-oracle.com/t_ora_01461_can_bind_a_long_value_only_for_insert_into_a_long_column.htm –

ответ

0

я найти решение моей проблемы; Добавив этот код в файл log4j2.xml, проблема была решена.

isUnicode="false" 
0

У меня была такая же ошибка после внесения в мою базу данных log4j2. Я изменил тип данных столбца, в котором было добавлено более 1000 символов от varchar2 до CLOB. Впоследствии это сработало. Попробуйте изменить тип данных вашего столбца ACIKLAMA на номер CLOB.