java连接数据库sqlserver 2005 连接失败

/***jdbc方式去操作数据库,不需要配置数据源*1.把java.sql.*引入*2.需要引入三个Jar包*3.特别说明,如果取值是按编号,则需要一一对应,如果是按照*... /**
* jdbc方式去操作数据库,不需要配置数据源
* 1.把java.sql.*引入
* 2.需要引入三个Jar包
* 3.特别说明,如果取值是按编号,则需要一一对应,如果是按照
* 列名取值,则可以顺序灵活
*/
package com.test3;
import java.sql.*;
public class Test3 {

public static void main(String[] args) {
// TODO Auto-generated method stub
//PreparedStatement【火箭车】
//定义需要的对象
PreparedStatement ps=null;
Connection ct=null;
ResultSet rs=null;

try{
//初始化我们的对象
//1.加载驱动
//Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); //2000
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); //2005
//2.得到连接
// ct=DriverManager.getConnection
// ("jdbc:microsoft:sqlserver://127.0.0.1:1433;databaseName=spdb2"); //2000
ct=DriverManager.getConnection
("jdbc:sqlserver://localhost:1433;databaseName=spdb2"); //2005
//3.创建火箭车
ps=ct.prepareStatement("select * from emp");
//ps=ct.prepareStatement("select ename,sal,deptno from emp");
//4.执行[如果是增加。删除,修改 executeUpdate()
//如果是查询 executeQuery()
rs=ps.executeQuery();
//循环的取出,雇员的名字,雇员的薪水,部门的编号
while(rs.next())
{
String name=rs.getString(2);
float sal=rs.getFloat(6);
int deptno=rs.getInt(8);
System.out.println(name+" "+sal+" "+deptno);
}

}catch(Exception e){
e.printStackTrace();
}finally{

}
}

}

控制台:
com.microsoft.sqlserver.jdbc.SQLServerException: 通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败。错误:“connect timed out。请验证连接属性。确保 SQL Server 的实例正在主机上运行,且在此端口接受 TCP/IP 连接,还要确保防火墙没有阻止到此端口的 TCP 连接。”。
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:190)
at com.microsoft.sqlserver.jdbc.SQLServerException.ConvertConnectExceptionToSQLServerException(SQLServerException.java:241)
at com.microsoft.sqlserver.jdbc.SocketFinder.findSocket(IOBuffer.java:2243)
at com.microsoft.sqlserver.jdbc.TDSChannel.open(IOBuffer.java:491)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1309)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:991)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:827)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1012)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:207)
at com.test3.Test3.main(Test3.java:29)
展开
 我来答
howardHe
2012-04-12 · TA获得超过463个赞
知道小有建树答主
回答量:248
采纳率:0%
帮助的人:207万
展开全部
用jdbc连接,你要打开Sql Server配置管理器,开启TCP/IP连接,开启windows身份,Sql Server身份混合验证,并在Sql Server Management Studio中测试能能过Sql Server身份验证连接到你数据库后就可以java中测试了
追问
怎么开启windows身份,sql server身份混合验证
追答
更改安全身份验证模式
在 SQL Server Management Studio 的对象资源管理器中,右键单击服务器,再单击“属性”。
在“安全性”页上的“服务器身份验证”下,选择新的服务器身份验证模式,再单击“确定”。
在 SQL Server Management Studio 对话框中,单击“确定”以确认需要重新启动 SQL Server。
从 SQL Server Management Studio 重新启动 SQL Server

使用 Management Studio 启用 sa 登录帐户
在对象资源管理器中,依次展开“安全”、“登录名”,右键单击“sa”,再单击“属性”。
在“常规”页上,您可能需要为 sa 登录名创建密码并确认该密码。
在“状态”页的“登录”部分中,单击“启用”,然后单击“确定”。
micro0369
2012-04-12 · TA获得超过1.2万个赞
知道大有可为答主
回答量:9250
采纳率:85%
帮助的人:3599万
展开全部
按照提示检查一下:

确保 SQL Server 的实例正在主机上运行,
且在此端口接受 TCP/IP 连接,
还要确保防火墙没有阻止到此端口的 TCP 连接。

其实还有,实例名写的对不对: 服务器\实例名
追问
服务器\实例名往哪里写,谢谢
追答
请确认你的实例名是什么?

我估计是这么写,你可以查一查:
("jdbc:sqlserver://localhost\\实例名:1433;databaseName=spdb2")
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
a327297867
2012-04-12 · TA获得超过128个赞
知道小有建树答主
回答量:190
采纳率:0%
帮助的人:96.5万
展开全部
。。。。。。。。去下载一个 sql server sp4 补丁打到里面。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zbz232
2012-04-12
知道答主
回答量:65
采纳率:0%
帮助的人:30万
展开全部
首先你可以看下数据库服务是否已开;
其次你可以看下你数据库登录号码是否为你在程序中写的用户名和密码
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
P_jia127
2012-04-12
知道答主
回答量:7
采纳率:0%
帮助的人:3.6万
展开全部
怎么没看到你连接数据库时的用户名和密码?没有用户名和密码怎么能连上数据库?
追问
我的数据库时windows验证 不用账号 密码
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式