-
Type: Improvement
-
Resolution: Fixed
-
Priority: Major
-
Affects Version/s: 1.0.40
-
Component/s: None
-
None
-
Environment:DBサーバー(新)
機種:IBM System P5 52A
OS:AIX5.3
DBMS:DB2 9.1 FixPack1
DBサーバを変更したらSQL実行エラーになった。
Exception Type: org.seasar.framework.exception.EmptyRuntimeException Message: [ESSR0007]sqlはnullあるいは空であってはいけません StackTrace: ********************************************* at org.seasar.extension.jdbc.impl.BasicHandler.prepareStatement(BasicHandler.java:93) at org.seasar.extension.jdbc.impl.BasicSelectHandler.prepareStatement(BasicSelectHandler.java:146) at org.seasar.extension.jdbc.impl.BasicSelectHandler.execute(BasicSelectHandler.java:133) at org.seasar.extension.jdbc.impl.BasicSelectHandler.execute(BasicSelectHandler.java:120) at org.seasar.extension.jdbc.impl.BasicSelectHandler.execute(BasicSelectHandler.java:110) at org.seasar.dao.id.AbstractIdentifierGenerator.executeSql(AbstractIdentifierGenerator.java:59) at org.seasar.dao.id.IdentityIdentifierGenerator.setIdentifier(IdentityIdentifierGenerator.java:41) at org.seasar.dao.impl.InsertAutoHandler.postUpdateBean(InsertAutoHandler.java:54) at org.seasar.dao.impl.AbstractAutoHandler.execute(AbstractAutoHandler.java:149) at org.seasar.dao.impl.AbstractAutoHandler.execute(AbstractAutoHandler.java:124) at org.seasar.dao.impl.InsertAutoDynamicCommand.execute(InsertAutoDynamicCommand.java:59) at org.seasar.dao.interceptors.S2DaoInterceptor.invoke(S2DaoInterceptor.java:53) at org.seasar.dao.pager.PagerS2DaoInterceptorWrapper.invoke(PagerS2DaoInterceptorWrapper.java:64) at org.seasar.framework.aop.impl.NestedMethodInvocation.proceed(NestedMethodInvocation.java:43)
原因は、dbms.propertiesに載せ替え先DBのエントリが無かったため。
新DBでのDatabaseMetadata#getDatabaseProductNameは"DB2/AIX64"であるとのことなので、dbms.propertiesに
DB2/AIX64=org.seasar.dao.dbms.DB2
を追加する。