关于JSP连接SQL2000的问题,急!

我的SQL2000已打了SP4的补丁,JDBC的3个jar包也放到lib下了,但是连接是总是出500错误,下面是我连接SQL的程序:<%Class.forName("co... 我的SQL2000已打了SP4的补丁,JDBC的3个jar包也放到lib下了,但是连接是总是出500错误,下面是我连接SQL的程序:<%Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=xkxt";
String user="sa";
String password="aaaaaa";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from chengji";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()){ %>
您的第一个字段内容为:<%=rs.getString(1)%><br>
您的第二个字段内容为:<%=rs.getString(2)%><br>
<%}%>
<%out.print("数据库连接成功,恭喜你");%>
<%
rs.close();
stmt.close();
conn.close();
%>
下面是500错误:exception

org.apache.jasper.JasperException: javax.servlet.ServletException: java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:541)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:417)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

root cause

javax.servlet.ServletException: java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:850)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:779)
org.apache.jsp.sql_005ftest_jsp._jspService(sql_005ftest_jsp.java:97)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
展开
 我来答
w5300840
2009-06-03 · TA获得超过549个赞
知道小有建树答主
回答量:424
采纳率:0%
帮助的人:286万
展开全部
我建议你使用TRY语句块,捕获EXCEPTION,
连接数据库的密码有没有对呀.也就是说你安装2000时有没有设密码呀,如果没有设,你在这里加上密码就会连接不上,或许,你是不是把JDBC的三个JAR包放到JAVA的LIB里了,那肯定会错误,你把JAR包放到你服务器软件的LIB目录下,或者放到你网站止录下的web-inf/lib下,
我帮你加上异常捕获功能,打开看看,有什么提示
:<%
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=xkxt";
String user="sa";
String password="aaaaaa";
try{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
}
catch (Exception e){out.println(e.toString()+"未连接:因为找不到JDBC驱动");}

try{
Connection conn= DriverManager.getConnection(url,user,password);
<%out.print("数据库连接成功,恭喜你");%>

}
catch(Exception e){out.println(e.toString()+"用户名/密码/连接URL错误");}
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from chengji";
ResultSet rs=stmt.executeQuery(sql);

while(rs.next())
{ %>
您的第一个字段内容为:<%=rs.getString(1)%><br>
您的第二个字段内容为:<%=rs.getString(2)%><br>
<%}%>
<%
if(rs!=null)
{
rs.close();
stmt.close();
conn.close(); }
else
out.println("没有连接上/数据库没有数据");
%>
百度网友eec4298
2009-05-25 · TA获得超过378个赞
知道小有建树答主
回答量:240
采纳率:0%
帮助的人:156万
展开全部
用JDBC—ODBC桥:

String sDBDriver="sun.jdbc.odbc.JdbcOdbcDriver";
String sConnStr="jdbc:odbc:chengji";
String sql="select * from chengji";
Connection conn=null;
ResultSet rs=null;
Class.forName(sDBDriver);

conn=DriverManager.getConnection(sConnStr);
Statement stmt=conn.createStatement();
rs=stmt.executeQuery(sql);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
huangsunxin
2009-05-23 · 超过33用户采纳过TA的回答
知道答主
回答量:115
采纳率:0%
帮助的人:96.6万
展开全部
Windows xp 下 ,建议 使用 Sql 2005 或 Sql 2008

我使用 Sql 2005 个人版

配置起来 比较 简单,功能 也比 Sql2000 强劲
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wenbo208
2009-06-01
知道答主
回答量:9
采纳率:0%
帮助的人:4.4万
展开全部
如果安装sp4包没有提示错误,如果使用Netbeans开发工具还要把三个jar包放到库文件夹下,添加库-新建sqlserver2000库文件-添加那三个jar包,如果有sa连接数据库失败,就要更改sqlserver2000企业管理器中的选项!网上很多!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
台凌青8R
2009-05-21 · TA获得超过425个赞
知道小有建树答主
回答量:266
采纳率:0%
帮助的人:121万
展开全部
以前我也出现类似的问题(是在用HIBERNATE连接数据库时)。给个解决办法:
1.打开程序
2.点击运行
3.输入CMD
4.netstat -an
5.查看下有没有1433端口
如果没有,需要打个 SQL2000SP4 的补丁,就是1433端口号的啦~
安装提示成功后 记得要重启一下~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yi88cheng
2009-05-23 · TA获得超过121个赞
知道小有建树答主
回答量:181
采纳率:0%
帮助的人:126万
展开全部
补丁没有打好 重新开机, 要是不行 再补丁一遍
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式