我正在使用log4j2來登錄數據庫。我的代碼在下面;log4j2登錄數據庫varchar2錯誤
<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>
,但是當我在爲「ACIKLAMA」列傳遞超過1000字我得到ORA-01461:只能用於插入結合long值轉換爲一個LONG列錯誤。 Hovewer,我的「ACIKLAMA」列是varchar2(4000)。那麼,爲什麼我不能在我的「ACIKLAMA」列中插入1000到4000個字符;
錯誤代碼是:
ORA-01461: can bind a LONG value only for insert into a LONG column
感謝你的興趣,
錯誤並不是說您的文本太長,而是您嘗試在非相同類型的列中插入LONG類型的值。你可以發佈更多的log4j日誌? – 2014-09-29 09:07:34
當我試圖將超過1000個字符的字符傳遞給「ACIKLAMA」列時,我的數據庫列是varchar2(4000),但是當字符數增加超過1000時,會出現錯誤。 – EmreAltun 2014-09-29 10:49:38
@EmreAltun請參閱http://www.dba-oracle.com/t_ora_01461_can_bind_a_long_value_only_for_insert_into_a_long_column.htm – 2014-09-29 12:58:25