This is Interesting: Free IT Magazines  
Home > Archive > SQL JDBC Driver > February 2006 > sql driver 2005 - Null





You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

Author sql driver 2005 - Null
Klaus

2006-02-08, 5:56 pm

I use the SQL driver with a sql server 2005 database from a Java struts
web application. I use
org.apache.commons.dbcp.DelegatingPreparedStatement as a delegate for
connection.

However the whole webapp works fine, as long one user is using it in a
slow manner. But if a new sql query (stored procedure) is executed
during the first one is still processing, the second query throws
following exception. First query returns successfully.

Part of my code:
CallableStatement callableStatement = null;
callableStatement = util.prepareCall(sql, parameter);
ResultSet rs = callableStatement.executeQuery();

Exception:
java.lang.NullPointerException
at com.microsoft.sqlserver.jdbc.DBComms.receive(Unknown Source)
at com.microsoft.sqlserver.jdbc.IOBuffer.sendCommand(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.sendExecute(Unknown
Source)
at
com.microsoft.sqlserver.jdbc.SQLServerStatement.doExecuteQuery(Unknown
Source)
at
com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.executeQuery(Unknown
Source)
at
org.apache.commons.dbcp.DelegatingPreparedStatement. executeQuery(DelegatingPreparedStatement
.java:92)
at
net.solvion.util.service.dataaccess.sql.AbstractSqlDataAccessService. executeQuery(AbstractSqlDataAccessServic
e.java:117)
at
net.solvion.util.service.dataaccess.sql.ListSqlDataAccessService.getList(ListSqlDataAccessService.java:59)
at
net.solvion.util.service.GenericListService.getList(GenericListService.java:47)
at
net.solvion.util.web.action.ListTrackTraceAction.execute(ListTrackTraceAction.java:85)
at
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
at
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:825)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:738)
at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:526)
at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595)

Joe Weinstein

2006-02-08, 5:56 pm



Klaus wrote:

> I use the SQL driver with a sql server 2005 database from a Java struts
> web application. I use
> org.apache.commons.dbcp.DelegatingPreparedStatement as a delegate for
> connection.
>
> However the whole webapp works fine, as long one user is using it in a
> slow manner. But if a new sql query (stored procedure) is executed
> during the first one is still processing, the second query throws
> following exception. First query returns successfully.
>
> Part of my code:
> CallableStatement callableStatement = null;
> callableStatement = util.prepareCall(sql, parameter);
> ResultSet rs = callableStatement.executeQuery();
>
> Exception:
> java.lang.NullPointerException
> at com.microsoft.sqlserver.jdbc.DBComms.receive(Unknown Source)
> at com.microsoft.sqlserver.jdbc.IOBuffer.sendCommand(Unknown Source)
> at com.microsoft.sqlserver.jdbc.SQLServerStatement.sendExecute(Unknown
> Source)


Hi. I suspect it's your application code (including the
dbcp stuff) that may not be threadsafe. Your JDBC objects
can't be shared by multiple threads. I suspect a connection
is being closed, or a statement is being re-executed by one
thread while another is still using it.
Joe Weinstein at BEA Systems

> at
> com.microsoft.sqlserver.jdbc.SQLServerStatement.doExecuteQuery(Unknown
> Source)
> at
> com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.executeQuery(Unknown
> Source)
> at
> org.apache.commons.dbcp.DelegatingPreparedStatement. executeQuery(DelegatingPreparedStatement
.java:92)
> at
> net.solvion.util.service.dataaccess.sql.AbstractSqlDataAccessService. executeQuery(AbstractSqlDataAccessServic
e.java:117)
> at
> net.solvion.util.service.dataaccess.sql.ListSqlDataAccessService.getList(ListSqlDataAccessService.java:59)
> at
> net.solvion.util.service.GenericListService.getList(GenericListService.java:47)
> at
> net.solvion.util.web.action.ListTrackTraceAction.execute(ListTrackTraceAction.java:85)
> at
> org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
> at
> org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
> at
> org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
> at
> org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
> at
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
> at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:825)
> at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:738)
> at
> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:526)
> at
> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
> at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
> at java.lang.Thread.run(Thread.java:595)
>


Sponsored Links






Free braindumps | Software forum | Database administration forum

Copyright 2003 - 2009 webservertalk.com