[tuigwaa-user:164] Re: テーブル定義変更時の例外エラー

瀧下浩 takishita @ 4dd.co.jp
2006年 8月 29日 (火) 18:53:23 JST


wakata 様

瀧下と申します。

実は開発サイドでも同様の現象に出会っており、
設定ファイルやDBの定義等で不整合が起きてしまっている
だろうと考えているのですが、未だ原因が特定できておりません。

この状態に陥ると、復旧は難しいのが現状でして、
まことに申し訳ないのですが、手っ取り早い解決策としては、
サイトの再構築になるかと思います。

もしサイトを新規に構築して、再現する方法が判明しましたら
是非お教えいただければと思います。


wataka wrote:
> watakaと申します。
> 
> 新規にテーブルを作成した後、テーブルに項目を付け忘れたので、
> 追加したのですが、[作成]ボタンを押したあとに、エラーになってしまいました。
> 
> エラー後は、閲覧もできない(同じエラー画面になる)状態となります。
> #Tomcatを再起動すると使えるようになりますが、変更は反映されていないようです。
> 
> 解決策がありましたらご教授いただけませんでしょうか?
> 
> ■環境
> ・Tomcat5
> ・JDK1.4.2_12
> ・WindowsXP Pro
> 
> ■作成したテーブル
> テーブル名:テスト
> ───┬────┬────┬──────
> 表示名│タイプ  │必須    │オプション
> ───┼────┼────┼──────
> 文字  │文字列  │        │通常の文字列
> 日付  │日付    │        │1 年前 から 1 年後 まで 
> 
> 
> ■追加したい項目
> ───┬────┬────┬──────
> 表示名│タイプ  │必須    │オプション
> ───┼────┼────┼──────
> 数値  │数値    │        │
> 
> 
> ■エラー画面
> -----
> Tuigwaa 上でアプリケーションエラーが発生しました。
> Tuigwaa 上でアプリケーションエラーが発生しました。 しばらくたってからアクセスして下さい.....
> --
> 
> ■スタックトレース(Tomcatのログ)
> ---
> 2006-08-29 18:20:24 StandardContext[/tuigwaa]Application Error Detected and Forwarded
> org.seasar.framework.exception.SSQLException: [ESSR0072]SQLで例外(SQL=[alter table testsite.tgw_entity_ add column tgw_attr_1 date], ErrorCode=-58, SQLState=s0021)が発生しました
> 	at org.seasar.extension.dbcp.impl.ConnectionWrapperImpl$PreparedStatementWrapper.wrapException(ConnectionWrapperImpl.java:555)
> 	at org.seasar.extension.dbcp.impl.ConnectionWrapperImpl$PreparedStatementWrapper.wrapException(ConnectionWrapperImpl.java:550)
> 	at org.seasar.extension.dbcp.impl.ConnectionWrapperImpl$PreparedStatementWrapper.executeUpdate(ConnectionWrapperImpl.java:574)
> 	at org.seasar.tuigwaa.database.DynaDatabaseServiceImpl.executeSQL(DynaDatabaseServiceImpl.java:181)
> 	at org.seasar.tuigwaa.database.DynaDatabaseServiceImpl.alterTable(DynaDatabaseServiceImpl.java:147)
> 	at org.seasar.tuigwaa.database.DynaDatabaseServiceImpl$$EnhancedByS2AOP$$12943ac.alterTable$$invokeSuperMethod$$(DynaDatabaseServiceImpl$$EnhancedByS2AOP$$12943ac.java)
> 	at org.seasar.tuigwaa.database.DynaDatabaseServiceImpl$$EnhancedByS2AOP$$12943ac$$MethodInvocation$$alterTable0.proceed(MethodInvocationClassGenerator.java)
> 	at org.seasar.extension.tx.RequiredInterceptor.invoke(RequiredInterceptor.java:40)
> 	at org.seasar.tuigwaa.database.DynaDatabaseServiceImpl$$EnhancedByS2AOP$$12943ac$$MethodInvocation$$alterTable0.proceed(MethodInvocationClassGenerator.java)
> 	at org.seasar.tuigwaa.database.DynaDatabaseServiceImpl$$EnhancedByS2AOP$$12943ac.alterTable(DynaDatabaseServiceImpl$$EnhancedByS2AOP$$12943ac.java)
> 	at org.seasar.tuigwaa.model.ModelServiceImpl.alterEntity(ModelServiceImpl.java:185)
> 	at org.seasar.tuigwaa.controller.EntityAction.doSave(EntityAction.java:127)
> 	at org.seasar.tuigwaa.util.ajax.AbstractRowSetAction.saveRowSet(AbstractRowSetAction.java:62)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:270)
> 	at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:187)
> 	at org.apache.struts.actions.MappingDispatchAction.execute(MappingDispatchAction.java:169)
> 	at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
> 	at org.seasar.struts.processor.S2TilesRequestProcessor.processActionPerform(S2TilesRequestProcessor.java:122)
> 	at org.seasar.struts.processor.AcceptorImpl.process(AcceptorImpl.java:126)
> 	at org.seasar.struts.processor.S2TilesRequestProcessor.process(S2TilesRequestProcessor.java:61)
> 	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
> 	at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
> 	at org.seasar.tuigwaa.util.filter.TgwFilter.doFilter(TgwFilter.java:67)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
> 	at org.seasar.tuigwaa.util.filter.EncodingFilter.doFilter(EncodingFilter.java:65)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
> 	at org.seasar.tuigwaa.util.filter.ForwardFilter.doFilter(ForwardFilter.java:83)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
> 	at org.seasar.struts.filter.S2StrutsFilter.doFilter(S2StrutsFilter.java:45)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
> 	at org.seasar.framework.container.filter.S2ContainerFilter.doFilter(S2ContainerFilter.java:60)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
> 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
> 	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
> 	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
> 	at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
> 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
> 	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
> 	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
> 	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
> 	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
> 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
> 	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
> 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
> 	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
> 	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
> 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> 	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
> 	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
> 	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
> 	at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
> 	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
> 	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
> 	at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
> 	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
> 	at java.lang.Thread.run(Thread.java:595)
> Caused by: java.sql.SQLException: Column constraints are not acceptable in statement [alter table testsite.tgw_entity_ add column tgw_attr_1 date]
> 	at org.hsqldb.jdbc.Util.throwError(Unknown Source)
> 	at org.hsqldb.jdbc.jdbcPreparedStatement.executeUpdate(Unknown Source)
> 	at org.seasar.extension.dbcp.impl.ConnectionWrapperImpl$PreparedStatementWrapper.executeUpdate(ConnectionWrapperImpl.java:572)
> 	... 66 more
> 
> -- http://d.hatena.ne.jp/wataka/
> --------------------------------------
> For All Sports Lovers!
> http://pr.mail.yahoo.co.jp/yells/
> _______________________________________________
> tuigwaa-user mailing list
> tuigwaa-user @ ml.seasar.org
> https://www.seasar.org/mailman/listinfo/tuigwaa-user
> 
> 


-- 
--------------------------------------------------------
株式会社四次元データ(Four-Dimensional Data, Inc.)
瀧下 浩
 E-Mail  : takishita @ 4dd.co.jp
 TEL     : 050-5527-7945
--------------------------------------------------------


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