[Seasar-user:18017] Re: S2DaoでDB2使用時のエラーについて質問

Toshihiro Nakamura [E-MAIL ADDRESS DELETED]
2009年 7月 17日 (金) 00:05:27 JST


中村(taedium)です。

> Exception in thread "main"
> org.seasar.framework.exception.SQLRuntimeException: [ESSR0072]SQLで例外
> (SQL=[INSERT INTO hogehoge (id, longitude, latitude, mat) VALUES (?, ?, ?,
> ?)], Message=[[ESSR0072]SQLで例外(SQL=[INSERT INTO hogehoge (id, longitude,
> latitude, mat) VALUES (?, ?, ?, ?)], Message=[-204], ErrorCode=42704,
> SQLState={3})が発生しました : [SQLで例外(Message=[DB2 SQL Error:
> SQLCODE=-204, SQLSTATE=42704, SQLERRMC=SCHEMA.HOGEHOGE, DRIVER=3.52.95],
> ErrorCode=-204, SQLState=42704)が発生しました。], [SQLで例外(Message=[DB2
> SQL Error: SQLCODE=-727, SQLSTATE=56098,
> SQLERRMC=2;-204;42704;SCHEMA.HOGEHOGE, DRIVER=3.52.95], ErrorCode=-727,
> SQLState=56098)が発生しました。], [SQLで例外(Message=[DB2 SQL Error:
> SQLCODE=-727, SQLSTATE=56098, SQLERRMC=2;-204;42704;SCHEMA.HOGEHOGE,
> DRIVER=3.52.95], ErrorCode=-727, SQLState=56098)が発生しました。], [DB2 SQL
> Error: SQLCODE=-204, SQLSTATE=42704, SQLERRMC=SCHEMA.HOGEHOGE,
> DRIVER=3.52.95], ErrorCode=-204, SQLState=42704)が発生しました

SQLSTATEの42704は
「未定義のオブジェクトまたは制約名が見つかりました。」
という意味です。
HOGEHOGEというテーブルがSCHEMAという名前のスキーマに
存在していないのではないでしょうか。

おそらく下記のような設定がj2ee.diconもしくはjdbc.diconがあるのだと
思いますが、SCHEMAという文字列をHOGEHOGEテーブルが定義された
スキーマ名に置き換えてみてください。

  <component name="xaDataSource"
    class="org.seasar.extension.dbcp.impl.XADataSourceImpl">
    <property name="driverClassName">
      "com.ibm.db2.jcc.DB2Driver"
    </property>
    <property name="URL">
      "jdbc:db2://foo.bar.com:50000/SAMPLE"
    </property>
    <property name="user">"db2user"</property>
    <property name="password">"db2password"</property>
    <initMethod name="addProperty">
      <arg>"currentSchema"</arg>
      <arg>"SCHEMA"</arg>
    </initMethod>
  </component>


-- 
Toshihiro Nakamura



Seasar-user メーリングリストの案内