JSP利用纯JAVA连接SQL 2005时出错

z26627863 2008-11-12 11:21:02
编写JSP利用纯JAVA连接数据库里显示以下错误
com.microsoft.sqlserver.jdbc.SQLServerException: 到主机 的 TCP/IP 连接失败。 java.net.ConnectException: Connection refused: connect
我是装SQL 2005的
我用odbc可以接连到
下面是我的文档
<%@ page contentType="text/html;charset=GB2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%
Connection con;
Statement sql;
ResultSet rs;
try
{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
}
catch(Exception e)
{
out.print(e);
}
try
{
String uri="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=student";
String user="sa";
String password="123456";
con=DriverManager.getConnection(uri,user,password);
sql=con.createStatement();
rs=sql.executeQuery("select * from score where 数学成绩 > 80");
out.print("<table border=2>");
out.print("<tr>");
out.print("<th width=100>"+"学号");
out.print("<th width=100>"+"姓名");
out.print("<th width=50>"+"数学成绩");
out.print("<th width=50>"+"英语成绩");
out.print("<th width=50>"+"物理成绩");
out.print("</tr>");
while(rs.next())
{
out.print("<tr>");
out.print("<td>"+rs.getString(1)+"</td>");
out.print("<td>"+rs.getString(2)+"</td>");
out.print("<td>"+rs.getFloat("数学成绩")+"</td>");
out.print("<td>"+rs.getFloat("英语成绩")+"</td>");
out.print("<td>"+rs.getFloat("物理成绩")+"</td>");
out.print("</tr>");
}
out.print("<table>");
con.close();
}
catch(SQLException e1)
{
out.print(e1);
}
%>
</body>
</html>
...全文
130 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
wenhuahetao 2009-10-15
  • 打赏
  • 举报
回复
xuexi
yunmoon 2008-11-13
  • 打赏
  • 举报
回复
我经常出现这个问题的 ,不知道你的和我一样不?

因为我每安装一次sql2005都会使用不同的端口号(sql2000貌似默认1433),只要把数据库的相应实例下的tcp/ip动态端口改成1433就好了。
sunwei_07 2008-11-13
  • 打赏
  • 举报
回复
1.SP补丁
2.端口有没有打开

http://topic.csdn.net/u/20080109/20/25914287-a1a6-42ef-a12d-ce213d406195.html

  • 打赏
  • 举报
回复
确定TCP/IP有没有启动.

确定TCP端口对不对, 在TUTORIAL和SAMPLE里的都是1433端口, 可是我SQL SERVER的TCP接听端口是2159. 把程序里的1433改成1459就马上可以用了.

设置方法:
打开SQL SERVER CONFIGURATION MANAGER (不记得SQLEXPRESS版本有没有这个了, ENTERPRISE版本的有), 左边窗口扩展SQL SERVER 2005 网络配置, 选择SQLEXPRESS 的协议(你的名字不一定是SQLEXPRESS), 右边窗口中双击TCP/IP, 弹出窗口中顶部TAB点"IP 地址", 看IPA11(或者是IPAll..看不出来是1还是l), 里面"TCP 动态端口"的值就是你的端口.
fanyuanwaifdl 2008-11-13
  • 打赏
  • 举报
回复
sorry 总是引用错误
fanyuanwaifdl 2008-11-13
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 java2000_net 的回复:]
谈JDBC SQL SERVER 不能连接的问题
看一楼的最底部!
[/Quote]
sqlserver启动 sqlserver配置工具/sqlserver configuration Manager/打开
sqlserver 2005网络配置 MSSQLSERVER协议 启动里面的TCP/IP
  • 打赏
  • 举报
回复
好像2005默认情况下sa是不允许访问的,需要修改下使他可以访问,我以前也出现过这个问题就是因为那个原因
和密码没多大关系,而且该了以后需要重启
z26627863 2008-11-13
  • 打赏
  • 举报
回复
IPAll的TCP端口和TCP动态端口我都改成了1433
还是不行啊
我的那个TCP信息在下面

IP1
IP地址 222.200.94.17
TCP动态端口
TCP端口 1433
活动 是
已启用 否

IP2
IP地址 10.88.181.116
TCP动态端口
TCP端口 1433
活动 是
已启用 否

IP3
IP地址 127.0.0.1
TCP动态端口
TCP端口 1433
活动 是
已启用 否

IPALL
TCP动态端口 1433--(这个本来是没有的,我自己加上去的)
TCP端口 1433

z26627863 2008-11-13
  • 打赏
  • 举报
回复
这个程序我拿去同学那里是可以成功的
z26627863 2008-11-13
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 java2000_net 的回复:]
谈JDBC SQL SERVER 不能连接的问题
看一楼的最底部!
[/Quote]

我看了那个网页,原来我的TCP没有打开,但是我打开后一样不行啊
这个怎么回事,我的SQL是2005
老紫竹 2008-11-12
  • 打赏
  • 举报
回复
hejia12 2008-11-12
  • 打赏
  • 举报
回复
是不是端口不对“是使用的TCP端口不对, 在TUTORIAL和SAMPLE里的都是1433端口, 可是我SQL SERVER的TCP接听端口是1459. 把程序里的1433改成1459就马上可以用了.”

lz看看这个帖子
http://liusu.blog.ccidnet.com/blog-htm-do-showone-uid-2571-itemid-102170-type-blog.html
z26627863 2008-11-12
  • 打赏
  • 举报
回复
SQL2005里面的sa用户我也改了
用户名:sa
密码:123456

81,116

社区成员

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

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