SQL Exception bei Mehrfachsuche auf einer JSP

Moin zusammen…

Ich programmiere gerade eine Java Anwendung auf JSP Basis mit dem Studio Creator2 von Sun.

Es geht um eine Anwendung, die auf der Hauptseite drei Suchfunktionen hat. zum einem eine Suche nach Zahlen… dann ein String Feld und ein Datumsfeld…
Mein Problem ist, dass wenn ich die Suche anstoße, weitere Angaben in einem extrafenster anzeigen lasse, dieses wieder schließe und eine neue Suche nach dem Stringfeld durchführe bekomme ich die Meldung unten… (als erstes von der Entwicklungsumgebung… der zweite vom Tomcat)
Das Problem ist, dass das SQL Statement erst nach dem betätigen des Suchenbuttons zusammen gesetzt wird und mir jetzt beim debuggen der Application Server und die Umgebung abgeschmiert sind… :frowning:

Weiß da einer vielleicht was zu…???

___

Exception Handler

Description: An unhandled exception occurred during the execution of the web application. Please review the following stack trace for more information regarding the error.

Exception Details: java.sql.SQLException
Spalte (null) bei Abfrage in keiner Tabelle gefunden (oder ALV nicht definiert).

Possible Source of Error:
Class Name: com.informix.jdbc.IfxSqli
File Name: IfxSqli.java
Method Name: addException
Line Number: 3105

Source not available. Information regarding the location of the exception can be identified using the exception stack trace below.

Stack Trace:

com.informix.jdbc.IfxSqli.addException(IfxSqli.java:3105)
com.informix.jdbc.IfxSqli.receiveError(IfxSqli.java:3419)
com.informix.jdbc.IfxSqli.dispatchMsg(IfxSqli.java:2282)
com.informix.jdbc.IfxSqli.receiveMessage(IfxSqli.java:2202)
com.informix.jdbc.IfxSqli.executePrepare(IfxSqli.java:1093)
com.informix.jdbc.IfxResultSet.executePrepare(IfxResultSet.java:189)
com.informix.jdbc.IfxPreparedStatement.setupExecutePrepare(IfxPreparedStatement.java:193)
com.informix.jdbc.IfxPreparedStatement.(IfxPreparedStatement.java:171)
com.informix.jdbc.IfxSqliConnect.prepareStatement(IfxSqliConnect.java:1964)
com.sun.sql.rowset.internal.CachedRowSetXReader.readData(CachedRowSetXReader.java:140)
com.sun.sql.rowset.CachedRowSetXImpl.execute(CachedRowSetXImpl.java:950)
com.sun.sql.rowset.CachedRowSetXImpl.execute(CachedRowSetXImpl.java:1410)
com.sun.jsfcl.data.CachedRowSetDataModel.executeIfNecessary(CachedRowSetDataModel.java:370)
com.sun.jsfcl.data.CachedRowSetDataModel.isRowAvailable(CachedRowSetDataModel.java:131)
com.sun.jsfcl.data.CachedRowSetDataModel.setRowIndex(CachedRowSetDataModel.java:284)
javax.faces.component.UIData.setRowIndex(UIData.java:380)
javax.faces.component.UIData.iterate(UIData.java:898)
javax.faces.component.UIData.processDecodes(UIData.java:737)
com.sun.rave.web.ui.component.Form.processDecodes(Form.java:78)
javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:880)
javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:880)
javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:880)
javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:880)
javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:306)
com.sun.faces.lifecycle.ApplyRequestValuesPhase.execute(ApplyRequestValuesPhase.java:79)
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:221)
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:90)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-2)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:585)
org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:249)
java.security.AccessController.doPrivileged(AccessController.java:-2)
javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:282)
org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:165)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:257)
org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:55)
org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:161)
java.security.AccessController.doPrivileged(AccessController.java:-2)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
com.sun.rave.web.ui.util.UploadFilter.doFilter(UploadFilter.java:194)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:210)
org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:55)
org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:161)
java.security.AccessController.doPrivileged(AccessController.java:-2)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:263)
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:225)
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:173)
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:132)
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:933)
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:189)
com.sun.enterprise.web.connector.grizzly.ProcessorTask.doProcess(ProcessorTask.java:604)
com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.java:475)
com.sun.enterprise.web.connector.grizzly.ReadTask.executeProcessorTask(ReadTask.java:371)
com.sun.enterprise.web.connector.grizzly.ReadTask.doTask(ReadTask.java:264)
com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:281)
com.sun.enterprise.web.connector.grizzly.WorkerThread.run(WorkerThread.java:83)

Exception Details: javax.faces.FacesException
java.sql.SQLException: Spalte (null) bei Abfrage in keiner Tabelle gefunden (oder ALV nicht definiert).

Possible Source of Error:
Class Name: com.sun.jsfcl.data.CachedRowSetDataModel
File Name: CachedRowSetDataModel.java
Method Name: executeIfNecessary
Line Number: 372

Source not available. Information regarding the location of the exception can be identified using the exception stack trace below.

Stack Trace:

com.sun.jsfcl.data.CachedRowSetDataModel.executeIfNecessary(CachedRowSetDataModel.java:372)
com.sun.jsfcl.data.CachedRowSetDataModel.isRowAvailable(CachedRowSetDataModel.java:131)
com.sun.jsfcl.data.CachedRowSetDataModel.setRowIndex(CachedRowSetDataModel.java:284)
javax.faces.component.UIData.setRowIndex(UIData.java:380)
javax.faces.component.UIData.iterate(UIData.java:898)
javax.faces.component.UIData.processDecodes(UIData.java:737)
com.sun.rave.web.ui.component.Form.processDecodes(Form.java:78)
javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:880)
javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:880)
javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:880)
javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:880)
javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:306)
com.sun.faces.lifecycle.ApplyRequestValuesPhase.execute(ApplyRequestValuesPhase.java:79)
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:221)
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:90)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-2)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:585)
org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:249)
java.security.AccessController.doPrivileged(AccessController.java:-2)
javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:282)
org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:165)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:257)
org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:55)
org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:161)
java.security.AccessController.doPrivileged(AccessController.java:-2)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
com.sun.rave.web.ui.util.UploadFilter.doFilter(UploadFilter.java:194)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:210)
org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:55)
org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:161)
java.security.AccessController.doPrivileged(AccessController.java:-2)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:263)
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:225)
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:173)
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:132)
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:933)
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:189)
com.sun.enterprise.web.connector.grizzly.ProcessorTask.doProcess(ProcessorTask.java:604)
com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.java:475)
com.sun.enterprise.web.connector.grizzly.ReadTask.executeProcessorTask(ReadTask.java:371)
com.sun.enterprise.web.connector.grizzly.ReadTask.doTask(ReadTask.java:264)
com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:281)
com.sun.enterprise.web.connector.grizzly.WorkerThread.run(WorkerThread.java:83)

___

HTTP Status 500 -


type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: java.sql.SQLException: Spalte (null) bei Abfrage in keiner Tabelle gefunden (oder ALV nicht definiert).
javax.faces.webapp.FacesServlet.service(FacesServlet.java:209)
com.sun.rave.web.ui.util.UploadFilter.doFilter(UploadFilter.java:194)

root cause

javax.faces.FacesException: java.sql.SQLException: Spalte (null) bei Abfrage in keiner Tabelle gefunden (oder ALV nicht definiert).
com.sun.jsfcl.data.CachedRowSetDataModel.executeIfNecessary(CachedRowSetDataModel.java:372)
com.sun.jsfcl.data.CachedRowSetDataModel.isRowAvailable(CachedRowSetDataModel.java:131)
com.sun.jsfcl.data.CachedRowSetDataModel.setRowIndex(CachedRowSetDataModel.java:284)
javax.faces.component.UIData.setRowIndex(UIData.java:380)
javax.faces.component.UIData.iterate(UIData.java:898)
javax.faces.component.UIData.processDecodes(UIData.java:737)
com.sun.rave.web.ui.component.Form.processDecodes(Form.java:78)
javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:880)
javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:880)
javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:880)
javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:880)
javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:306)
com.sun.faces.lifecycle.ApplyRequestValuesPhase.execute(ApplyRequestValuesPhase.java:79)
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:221)
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:90)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
com.sun.rave.web.ui.util.UploadFilter.doFilter(UploadFilter.java:194)

note The full stack trace of the root cause is available in the Apache Tomcat/5.0 logs.


Apache Tomcat/5.0

Danke schonmal im Voraus…

Gruß Uriel

Hallo,

vermutlich baust du dir aus Strings die Spaltennamen zusammen und schickst den Select dann an die Datenbank. Einer der Strings 8der die Spalteninformation enthält ist null. Wenn Du dass dann zusammen kombinierst steht eben nach der Verkettung der String „null“ drin.

Gruß

Peter

Moin zusammen…

Ich programmiere gerade eine Java Anwendung auf JSP Basis mit
dem Studio Creator2 von Sun.

Es geht um eine Anwendung, die auf der Hauptseite drei
Suchfunktionen hat. zum einem eine Suche nach Zahlen… dann
ein String Feld und ein Datumsfeld…
Mein Problem ist, dass wenn ich die Suche anstoße, weitere
Angaben in einem extrafenster anzeigen lasse, dieses wieder
schließe und eine neue Suche nach dem Stringfeld durchführe
bekomme ich die Meldung uen… (als erstes von der
Entwicklungsumgebung… der zweite vom Tomcat)
Das Problem ist, dass das SQL Statement erst nach dem
betätigen des Suchenbuttons zusammen gesetzt wird und mir
jetzt beim debuggen der Application Server und die Umgebung
abgeschmiert sind… :frowning:

Weiß da einer vielleicht was zu…???

___

Exception Handler

Description: An unhandled exception occurred during the
execution of the web application. Please review the following
stack trace for more information regarding the error.

Exception Details: java.sql.SQLException
Spalte (null) bei Abfrage in keiner Tabelle gefunden (oder
ALV nicht definiert).