jsp连接SQL server 2000 的问题?(肯请大家看看)

luofengjava 2006-08-03 06:01:55
jsp连接SQL server 2000 的问题?(肯请大家看看)

下载软件:
jsdk1.42+Tomcat/5.0.27+SQL Server 2000企业版+SQL Server 2000 Driver for JDBC Service Pack 3
环境变量:
CATALINA_BASEjava_home=c:\j2sdk_nb
classpath=.;%java_home%\lib\dt.jar;%java_home%\lib\tools.jar;%CATALINA_HOME%\common\lib\servlet-api.jar;%JDBC_INSTALL_PATH%\lib\msbase.jar;%JDBC_INSTALL_PATH%\lib\mssqlserver.jar;%JDBC_INSTALL_PATH%\msutil.jar
path= C:\j2sdk_nb\bin;
CATALINA_HOME=c:\Tomcat;
CATALINA_BASE=c:\Tomcat;
JDBC_INSTALL_PATH=D:\soft\jdbc_sql2000



自检的过程:
1,看看TOMCAT服务器启动是否正常!-----------------------启动正常
2。看看TOMCAT服务器中连接SQL3个驱动包是否被注册成功--------------上面已经加到环境变量中
3。看看数据库服务器是否正常启动!--------------------------启动正常

如下一个程序:
<%@ page contentType="text/html;charset=gb2312"%>;

<%@ page import="java.sql.*"%>;

<html>;

<body>;

<%

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();

String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=data";

String user="sa";

String password="123";

Connection conn= DriverManager.getConnection(url,user,password);

Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);

String sql="select * from test_one";

ResultSet rs=stmt.executeQuery(sql);

while(rs.next())

{

%>;

您的第一个字段内容为:<%=rs.getString(1)%>;

您的第二个字段内容为:<%=rs.getString(2)%>;

<%

}

%>;

<%out.print("数据库操作成功,恭喜你");%>;

<%

rs.close();

stmt.close();

conn.close();

%>;

</body>;

</html>;


调试后出现如下错误: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: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]?????? 'data' ?????????????
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758)
org.apache.jsp._222_jsp._jspService(_222_jsp.java:113)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


root cause

java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]?????? 'data' ?????????????
com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
com.microsoft.jdbc.sqlserver.tds.TDSRequest.processErrorToken(Unknown Source)
com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReplyToken(Unknown Source)
com.microsoft.jdbc.sqlserver.tds.TDSLoginRequest.processReplyToken(Unknown Source)
com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReply(Unknown Source)
com.microsoft.jdbc.sqlserver.SQLServerImplConnection.open(Unknown Source)
com.microsoft.jdbc.base.BaseConnection.getNewImplConnection(Unknown Source)
com.microsoft.jdbc.base.BaseConnection.open(Unknown Source)
com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)
java.sql.DriverManager.getConnection(DriverManager.java:512)
java.sql.DriverManager.getConnection(DriverManager.java:171)
org.apache.jsp._222_jsp._jspService(_222_jsp.java:61)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


note The full stack trace of the root cause is available in the Apache Tomcat/5.0.27 logs.
...全文
459 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ykzhujiang 2006-08-07
  • 打赏
  • 举报
回复
SQL语句错误
mrdangdong 2006-08-07
  • 打赏
  • 举报
回复
且不讨论是否为sp4补丁的事,楼主的代码是连接数据库的,怎么不见 try()catch(){}呢
以下是一个简单的直接调用的例子,包含try{}catch(){}
改一下密码,楼主直接运行,看能否通过,如不能通过,打sp4补丁
<%@ page contentType="text/html; charset=GBK" %>

<%@page import="java.io.* %>
<%@ page import="java.sql.*"%>

<html>
<head>
<title>员工信息展现</title>
</head>

<body bgcolor="#ffffff">
<table border="1" align="center" width="800" bordercolor=000066>
<tr>
<td>员工编号</td><td>员工姓名</td><td>性别</td><td>年龄</td><td>电话</td><td>地址</td><td>部门编号</td><td>操作</td>
</tr>
<%
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Northwind";
String dbuname="sa";
String dbpasswd="";
try{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
Connection conn=DriverManager.getConnection(url,dbuname,"");
Statement st=conn.createStatement();
ResultSet rs=st.executeQuery("select * from Employees");
while(rs.next())
{
out.println("<tr><td>"+rs.getInt("EmployeeID")+"</td><td>"+rs.getString("LastName")+"</td><td>"+rs.getInt(3)+"</td><td>"+rs.getInt(4)+"</td><td>"+rs.getString(5)+"</td><td>"+rs.getString(6)+"</td><td>"+rs.getInt(7)+"</td><td>修改 删除</td></tr>");
}
rs.close();
st.close();
conn.close();
}catch(Exception ex){ex.toString();}
%>
</table>
</body>
</html>
lean_liao 2006-08-06
  • 打赏
  • 举报
回复
应该是补丁问题
kwl820611 2006-08-06
  • 打赏
  • 举报
回复
打个SP4的补丁,我也是出现过这个问题,打上后就好了。
luofengjava 2006-08-04
  • 打赏
  • 举报
回复
谢谢!我试试。
liyukai 2006-08-03
  • 打赏
  • 举报
回复
SQL Server 2000 Driver for JDBC Service Pack 3
补丁是否打上去了,在查询分析器里测试你的 String user="sa";

String password="123";
yanruilin 2006-08-03
  • 打赏
  • 举报
回复
企业 SQL server 2000
需要打补丁
kevinliuu 2006-08-03
  • 打赏
  • 举报
回复
关键的提示居然乱码

data数据库名有问题?

67,542

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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