[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 メーリングリストの案内