Antwort: SQLException when changing module (0.21 with Oracle, Oracle issue?)

[email protected] Thu, 11 Sep 2008 15:58:58 +0200
Newsgroups gmane.comp.java.scarab.user
Message-ID <OF4ADFDF90.16B75289-ONC12574C1.004BEA6E-C12574C1.004CCFF6@tk-online.de>
Hi,

I found a workaround for myself. It looks like Scarab temporarily inserts 
a null-Value into the SCARAB_GLOBAL_PARAMETER table and the column VALUE 
is not defined as "NULLABLE". I have fixed this by running this SQL 
statement against the Scarab Oracle DB (sets the column VALUE to 
NULLABLE):

alter table scarab.scarab_global_parameter modify value varchar2(255) null

I really don't know if it is a problem with Oracle, Torque, a wrong schema 
or a bug in Scarab. I haven't examined the reason, why Scarab wants to 
insert a null in the column VALUE.

Joerg Florin
Techniker Krankenkasse
Hauptverwaltung
IT-Systeme (ITS.4 - Systemframeworks)
Bramfelder Straße 140, D-22305 Hamburg
 
Tel: +49 (40) 69 09 - 25 75
Fax: +49 (40) 69 09 - 8 25 75
E-Mail: [email protected]
TK-Website: www.tk-online.de 



[email protected] 
 
08.09.2008 16:16
Bitte antworten an
[email protected]


An
[email protected]
Kopie

Thema
SQLException when changing module (0.21 with Oracle, Oracle issue?)







Hello, 

I successfully married Scarab 0.21 with Oracle 10g, but when I save a 
change in the module settings I get a SQLException. My change is saved but 
the exception makes me uncertain. Is this an Oracle issue? May I ignore 
this? 

regards, 

Jörg Florin
Techniker Krankenkasse
Hauptverwaltung
IT-Systeme (ITS.4 - Systemframeworks)
Bramfelder Straße 140, D-22305 Hamburg
 
Tel: +49 (40) 69 09 - 25 75
Fax: +49 (40) 69 09 - 8 25 75
E-Mail: [email protected]
TK-Website: www.tk-online.de 

-------------------------- 


If the stack trace below has at the top a mention  of 
"ResourceNotFoundException", that means that a template could not be found 
(404) and is probably the result of a broken link.  If the stack trace has 
something else, please enter a copy of the stack  trace and an explanation 
of what you did to cause it to the  Issue Tracking System for analysis. If 
you are a developer and think you know what the problem is,  feel free to 
send in a patch to fix the problem.   
  org.apache.turbine.TurbineException: org.apache.torque.TorqueException: 
java.sql.SQLException: ORA-01400: cannot insert NULL into 
("SCARAB"."SCARAB_GLOBAL_PARAMETER"."VALUE")

                at 
org.apache.turbine.pipeline.DefaultActionValve.invoke(DefaultActionValve.java:104)
                at 
org.apache.turbine.pipeline.TurbinePipeline.invokeNext(TurbinePipeline.java:231)
                at 
org.apache.turbine.pipeline.DefaultACLCreationValve.invoke(DefaultACLCreationValve.java:127)
                at 
org.apache.turbine.pipeline.TurbinePipeline.invokeNext(TurbinePipeline.java:231)
                at 
org.tigris.scarab.pipeline.SetLocaleValve.invoke(SetLocaleValve.java:95)
                at 
org.apache.turbine.pipeline.TurbinePipeline.invokeNext(TurbinePipeline.java:231)
                at 
org.tigris.scarab.pipeline.FreshenUserValve.invoke(FreshenUserValve.java:168)
                at 
org.apache.turbine.pipeline.TurbinePipeline.invokeNext(TurbinePipeline.java:231)
                at 
org.apache.turbine.pipeline.DefaultSessionValidationValve.invoke(DefaultSessionValidationValve.java:131)
                at 
org.apache.turbine.pipeline.TurbinePipeline.invokeNext(TurbinePipeline.java:231)
                at 
org.apache.turbine.pipeline.DefaultLoginValve.invoke(DefaultLoginValve.java:109)
                at 
org.apache.turbine.pipeline.TurbinePipeline.invokeNext(TurbinePipeline.java:231)
                at 
org.tigris.scarab.pipeline.AnonymousLoginValve.invoke(AnonymousLoginValve.java:66)
                at 
org.apache.turbine.pipeline.TurbinePipeline.invokeNext(TurbinePipeline.java:231)
                at 
org.tigris.scarab.pipeline.NTLMLoginValve.invoke(NTLMLoginValve.java:76)
                at 
org.apache.turbine.pipeline.TurbinePipeline.invokeNext(TurbinePipeline.java:231)
                at 
org.apache.turbine.pipeline.DefaultSessionTimeoutValve.invoke(DefaultSessionTimeoutValve.java:121)
                at 
org.apache.turbine.pipeline.TurbinePipeline.invokeNext(TurbinePipeline.java:231)
                at 
org.tigris.scarab.pipeline.DetermineTargetValve.invoke(DetermineTargetValve.java:118)
                at 
org.apache.turbine.pipeline.TurbinePipeline.invokeNext(TurbinePipeline.java:231)
                at 
org.apache.turbine.pipeline.DetermineActionValve.invoke(DetermineActionValve.java:107)
                at 
org.apache.turbine.pipeline.TurbinePipeline.invokeNext(TurbinePipeline.java:231)
                at 
org.tigris.scarab.pipeline.SetInfoMessageValve.invoke(SetInfoMessageValve.java:76)
                at 
org.apache.turbine.pipeline.TurbinePipeline.invokeNext(TurbinePipeline.java:231)
                at 
org.tigris.scarab.pipeline.ResetCacheValve.invoke(ResetCacheValve.java:72)
                at 
org.apache.turbine.pipeline.TurbinePipeline.invokeNext(TurbinePipeline.java:231)
                at 
org.tigris.scarab.pipeline.DetermineCharsetValve.invoke(DetermineCharsetValve.java:93)
                at 
org.apache.turbine.pipeline.TurbinePipeline.invokeNext(TurbinePipeline.java:231)
                at 
org.tigris.scarab.pipeline.TimingInfoValve.invoke(TimingInfoValve.java:108)
                at 
org.apache.turbine.pipeline.TurbinePipeline.invokeNext(TurbinePipeline.java:231)
                at 
org.apache.turbine.pipeline.TurbinePipeline.invoke(TurbinePipeline.java:213)
                at org.apache.turbine.Turbine.doGet(Turbine.java:298)
                at org.apache.turbine.Turbine.doPost(Turbine.java:343)
                at 
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
                at 
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
                at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
                at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
                at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
                at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
                at 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
                at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
                at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
                at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
                at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
                at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
                at 
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
                at 
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
                at 
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
                at 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
                at java.lang.Thread.run(Thread.java:595)
Caused by: org.apache.torque.TorqueException: java.sql.SQLException: 
ORA-01400: cannot insert NULL into 
("SCARAB"."SCARAB_GLOBAL_PARAMETER"."VALUE")

                at 
org.apache.torque.util.BasePeer.throwTorqueException(BasePeer.java:103)
                at 
org.apache.torque.util.BasePeer.insertOrUpdateRecord(BasePeer.java:626)
                at 
org.apache.torque.util.BasePeer.doInsert(BasePeer.java:516)
                at 
org.tigris.scarab.om.BaseGlobalParameterPeer.doInsert(BaseGlobalParameterPeer.java:212)
                at 
org.tigris.scarab.om.BaseGlobalParameterPeer.doInsert(BaseGlobalParameterPeer.java:564)
                at 
org.tigris.scarab.om.BaseGlobalParameter.save(BaseGlobalParameter.java:423)
                at 
org.tigris.scarab.om.BaseGlobalParameter.save(BaseGlobalParameter.java:387)
                at 
org.tigris.scarab.om.BaseGlobalParameter.save(BaseGlobalParameter.java:367)
                at 
org.tigris.scarab.om.GlobalParameterManager.setString(GlobalParameterManager.java:201)
                at 
org.tigris.scarab.actions.ModifyModule.storeGlobalParameter(ModifyModule.java:210)
                at 
org.tigris.scarab.actions.ModifyModule.updateModuleParameters(ModifyModule.java:192)
                at 
org.tigris.scarab.actions.ModifyModule.doUpdate(ModifyModule.java:160)
                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.turbine.modules.actions.TemplateAction.executeEvents(TemplateAction.java:160)
                at 
org.apache.turbine.modules.ActionEvent.perform(ActionEvent.java:144)
                at 
org.apache.turbine.modules.actions.TemplateSecureAction.perform(TemplateSecureAction.java:90)
                at 
org.apache.turbine.modules.ActionEvent.execute(ActionEvent.java:179)
                at 
org.apache.turbine.pipeline.DefaultActionValve.executeAction(DefaultActionValve.java:139)
                at 
org.apache.turbine.pipeline.DefaultActionValve.invoke(DefaultActionValve.java:99)
                ... 49 more
Caused by: java.sql.SQLException: ORA-01400: cannot insert NULL into 
("SCARAB"."SCARAB_GLOBAL_PARAMETER"."VALUE")

                at 
oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
                at 
oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
                at 
oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
                at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:745)
                at 
oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:219)
                at 
oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:970)
                at 
oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1190)
                at 
oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3370)
                at 
oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3454)
                at 
com.workingdogs.village.Record.saveWithInsert(Record.java:410)
                at com.workingdogs.village.Record.save(Record.java:220)
                at com.workingdogs.village.Record.save(Record.java:190)
                at 
org.apache.torque.util.BasePeer.insertOrUpdateRecord(BasePeer.java:622)
                ... 69 more