最近做程序第一次用sqlserver2000,不过在jsp程序中运行sql时报以下错误,把sql直接放到sqlserver查询器里运行没问题,能查出结果,请高手帮忙,急等。
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]必须指定要从中选择的表。
        at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
        at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
        at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processErrorToken(Unknown Source)
        at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReplyToken(Unknown Source)
        at com.microsoft.jdbc.sqlserver.tds.TDSExecuteRequest.processReplyToken(Unknown Source)
        at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReply(Unknown Source)
        at com.microsoft.jdbc.sqlserver.SQLServerImplStatement.getNextResultType(Unknown Source)
        at com.microsoft.jdbc.base.BaseStatement.commonTransitionToState(Unknown Source)
        at com.microsoft.jdbc.base.BaseStatement.postImplExecute(Unknown Source)
        at com.microsoft.jdbc.base.BaseStatement.commonExecute(Unknown Source)
        at com.microsoft.jdbc.base.BaseStatement.executeQueryInternal(Unknown Source)
        at com.microsoft.jdbc.base.BaseStatement.executeQuery(Unknown Source)
        at ConnPoolLcl.DatabaseAccess.query(DatabaseAccess.java:94)
        at org.apache.jsp.login.menuTree_jsp._jspService(menuTree_jsp.java from :147)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:93)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:470)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:364)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:411)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:317)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
        at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:288)
        at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:271)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:202)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
        at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:206)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:150)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
        at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:272)
        at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:637)
        at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:568)
        at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:813)
        at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341)
        at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263)
        at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214)
        at com.sun.enterprise.web.portunif.PortUnificationPipeline$PUTask.doTask(PortUnificationPipeline.java:380)
        at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)
        at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)

解决方案 »

  1.   

    看看你的 驱动    connection        是不是写错 库了?         
       这 个是SQL异常  不是 SQL 语句错阿 
      

  2.   

    贴一下代码看看。主要贴有SQL那段
      

  3.   

    不好意思,忘记贴了,一下是sql语句,这语句直接放到sqlserver的企业管理器里查询没问题,放到程序这,就报上边的那个错了,请大家帮忙啊!SELECT b.ModualName AS modualName, b.ParentID AS parentID, a.ModualID,
           b.ModualValue AS pathInfo FROM OperatorRights a INNER JOIN
           ModualList b ON a.ModualID = b.ModualID
    WHERE (1 = 1) 
          AND (a.UserID = (SELECT UserID FROM MyUser
               WHERE UserState = '00' AND Name = '123456' AND ComCode LIKE '86%')) AND
               (b.ModualState = '00')
      

  4.   

    如果能在sqlserver2000运行的话,写成存储过程让后台运行一下试试
      

  5.   

    你JDBC设置有没有指定数据库?
      

  6.   

    表名指定数据库名:像如下:再试试看,因为sqlserver是需要指定数据库的SELECT [id], [DeviceID], [Aid], [BeginTime], [EndTime], [Severity],
    [CondType],[DetailID], [AckNotes], [Description]
    FROM [master].[dbo].[Alarms]
    WHERE [EndTime] IS NULL
    ORDER BY [id]
      

  7.   

    表名指定数据库名:像如下:再试试看,因为sqlserver是需要指定数据库的SELECT [id], [DeviceID], [Aid], [BeginTime], [EndTime], [Severity],
    [CondType],[DetailID], [AckNotes], [Description]
    FROM [master].[dbo].[Alarms]
    WHERE [EndTime] IS NULL
    ORDER BY [id]