JSP和SQL SERVER 2000连接问题

wyxixi78 2004-09-20 10:45:53
使用以下代码测试连接:
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url = "jdbc:microsoft:sqlserver://localhost:1433";
String user = "sa";
String password = "123456";
Connection conn = DriverManager.getConnection(url,user,password);
Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql = "select * from employee";
ResultSet rs = stmt.executeQuery(sql);
错误提示:
org.apache.jasper.JasperException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]对象名 'employee' 无效。
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:254)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:492)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2422)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:163)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:199)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:828)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:700)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:584)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:536)


root cause

javax.servlet.ServletException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]对象名 'employee' 无效。
at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:536)
at org.apache.jsp.sql_test_jsp._jspService(sql_test_jsp.java:79)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:137)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:210)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:492)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2422)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:163)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:199)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:828)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:700)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:584)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:536)


请高手们不吝赐教!!!!
...全文
153 16 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
香芋元宇宙 2004-09-24
  • 打赏
  • 举报
回复
[Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]对象名 'employee' 无效。
这句话表明数据库中可能没有这个表,或者表名写错了
wyxixi78 2004-09-24
  • 打赏
  • 举报
回复
我明明已经指明数据库了,后面不是有纠正吗?你们都没看。。。。。。:(
gexu 2004-09-24
  • 打赏
  • 举报
回复
你没有指定数据库的名字!
jein 2004-09-24
  • 打赏
  • 举报
回复
晕,不好意思,我看到你的跟帖了,你最好把该页面的所有代码帖出来
<%@ page import="java.lang.*, java.io.*, java.sql.*, java.util.*" contentType="text/html;charset=gb2312" %>
  <html>
  <body>
  <% Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
   String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";
   
   String user="sa";
   String password="admin";
   Connection conn= DriverManager.getConnection(url,user,password);
   Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
   String sql="select job_id,job_desc from jobs";
   ResultSet rs=stmt.executeQuery(sql);
   while(rs.next()) { %>
    1:<%=rs.getString(1)%><br>
    2:<%=rs.getString(2)%><br>
  <% } %>
  <% out.print("Success"); %>
  <% rs.close();
   stmt.close();
   conn.close();
  %>
  </body>
  </html>
jein 2004-09-24
  • 打赏
  • 举报
回复
楼主,你没有指定是使用哪个数据库啊,程序没有办法执行
String sql = "select * from employee";
这条语句
zawx 2004-09-20
  • 打赏
  • 举报
回复
加模式名ado.employee
wyxixi78 2004-09-20
  • 打赏
  • 举报
回复
改成,;databasename = pubs就会提示url无效;employee是属于pubs的。
wyxixi78 2004-09-20
  • 打赏
  • 举报
回复
我刚才试过查询master数据库中的表就可以,查pubs的就不行,为什么啊?
alpha80 2004-09-20
  • 打赏
  • 举报
回复
要看这个表是属于那个database 楼上的楼上正解,;databasename = pubs
看看'employee' 属于那个database
wyxixi78 2004-09-20
  • 打赏
  • 举报
回复
有这个表的
wyxixi78 2004-09-20
  • 打赏
  • 举报
回复
修正:url = "jdbc:microsoft:sqlserver://localhost:1433;databasename = pubs";
skyboy0720 2004-09-20
  • 打赏
  • 举报
回复
已经很清楚了啊!对象名 'employee' 无效。
检查看看连接的数据库下有没有这个表!!!
36397 2004-09-20
  • 打赏
  • 举报
回复
靠,靠……

你都没有指明数据库,他肯定说你出错的了。

靠,靠……
香芋元宇宙 2004-09-20
  • 打赏
  • 举报
回复
这个很简单,只是你连接数据库的时候没有指明要连哪个数据库呀,修改如下:
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pm";
//注:pm为employee表坐在的数据库名
CQ_LW 2004-09-20
  • 打赏
  • 举报
回复
我有一个连接类,你试一下
import java.sql.*;
import java.util.*;
import javax.servlet.http.HttpServlet;
/*
*数据连接类
*/

public class DBConn {
private String userid = "sa";
/*连接字符串*/
private String conn_str = "jdbc:microsoft:sqlserver://192.168.2.132:1433;SelectMethod=Cursor;DatabaseName=pubs";
private String pwd = "";
/*sql驱动*/
private String classFor = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
public Connection dConn = null;

java.util.Vector batchSQL = new java.util.Vector();

public DBConn() {
try {
Class.forName(classFor);
dConn = DriverManager.getConnection(conn_str, userid, pwd);
System.out.println("Database connection is connected ! ");
}
catch (Exception ex) {
System.out.println("Database connection is not connected ! ");
System.out.println("DBConn.DBConn" + ex.toString()) ;

}
}
weepp 2004-09-20
  • 打赏
  • 举报
回复
上为正解!
网上订票系统 用到的技术为:javabean-servlet-jsp sql server 2000 数据库文件在WebRoot的DB文件中! 本系统实现了会员注册,会员登录,密码修改,以及会员信息的修改! 初步实现了在线订购,订单查询,班次查询以及系统管理--对火车信息的添加等。 操作过程: 首先,应导入到myeclipse中,将该系统发布到tomcat中,并启动tomcat! 接着在360浏览器中输入http://localhost:8080/bookonline/login.jsp 管理员的帐号为:guanliyuan 密码为:123456789 用户帐号为:987654321 密码为:987654321 当然可以在登录界面中点击注册链接,跳转到注册页面中进行注册(注:只能注册用户的,没有管理员注册!这是该系统中的一个问题)。 登录进去后进入主界面main.jsp中。在该界面中,可以点击修改用户信息,密码等链接,管理员还可以点击添加火车信息的链接。当然还可以查看火车信息。(注:只有在查询后,才能进行订票)。 注: 用到的页面 login.jsp——登录界面,可以链接到注册用户的界面。用admin字段来标识是否为管理员。其中有一个用户为987654321密码为987654321,另一个为管理员guanliyuan密码为123456789 register.jsp——用户注册页面,默认的所有注册方式为用户,即所有的用户admin为0。而管理员事先设置好了,即admin为1。 registerfailed.jsp registersuccess.jsp——为注册成功或失败时用到的页面 main.jsp——为系统主页面,在这里可以链接到订票,查询,修改信息,修改密码,管理员添加火车信息等。该页面用到了专题咨询里面的主框架结构,和部分代码。 queryfailed.jsp——当查询失败时所连接到的界面 addtrain.jsp——管理员添加火车信息时的页面 adderror.jsp——用户点击添加火车信息时产生的错误界面 showticket.jsp——显示火车票信息,此时可以进行订票。 bookfailes.jsp booksuccess.jsp——订票成功或失败时所链接的界面。 view.jsp——浏览火车票信息。 modifyinfo.jsp——修改用户信息,在这里不可能更改密码,以及权限。 passwordmodify.jsp——修改密码!

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧