0

Logback の DBAppender を使用しようとしています。私の logback.xml には次のアペンダーがあります。

</appender>
 <appender name="DatabaseAppender" class="ch.qos.logback.classic.db.DBAppender">
  <connectionSource class="ch.qos.logback.core.db.DriverManagerConnectionSource">
   <driverClass>oracle.jdbc.OracleDriver</driverClass>
   <url>jdbc:oracle:thin:@HOST_URL:PORT:SERVICE_NAME</url>
   <user>USER</user>
   <password>PASS</password>
 </connectionSource>
</appender>

指定された URL は同じプロジェクト内の他の Java クラスで動作しますが、logback で失敗し、次のエラーが発生します

ORA-00904: "ARG3": invalid identifier

        at java.sql.SQLException: ORA-00904: "ARG3": invalid identifier

ここで、ARG3 は<url>jdbc:oracle:thin:@HOST_URL:PORT:SERVICEID</url>

4

2 に答える 2

3

このエラーの原因となった Oracle ステートメントに興味があります。私の推測では、INSERT INTO テーブル (arg1、arg2、arg3) の値 (...); を試していると思います。テーブルにその列が含まれていない場合。

テーブルが何であるかわからない場合は、904 エラーが発生したときにエラー ダンプを強制する方法について、こちらを確認してください。

私はできる

ALTER system SET EVENTS '904 TRACE NAME ERRORSTACK LEVEL 3';

次に、エラーが発生すると、データベースは次のような問題のステートメントを示すトレース ファイルを生成します。

ORA-00904: "FRFRF": invalid identifier
Current SQL statement for this session:
select frfrf from dual
于 2010-03-31T22:41:19.317 に答える
0

データソース接続の場合:

<appender name="DB" class="ch.qos.logback.classic.db.DBAppender">
    <connectionSource
      class="ch.qos.logback.core.db.DataSourceConnectionSource">
      <dataSource
        class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <driverClass>oracle.jdbc.driver.OracleDriver</driverClass>
        <jdbcUrl>jdbc:oracle:thin:@localhost:1521:XE</jdbcUrl>
        <user>system</user>
        <password>a</password>
      </dataSource>
    </connectionSource>
  </appender>

Drivermanager 接続の場合:

 <appender name="DB" class="ch.qos.logback.classic.db.DBAppender">
    <connectionSource class="ch.qos.logback.core.db.DriverManagerConnectionSource">
      <driverClass>com.mysql.jdbc.Driver</driverClass>
      <url>jdbc:mysql://host_name:3306/datebase_name</url>
      <user>username</user>
      <password>password</password>
    </connectionSource>
  </appender>
于 2010-12-17T08:59:46.173 に答える