JDBC链接数据库一直失败,

aoxianghu 2014-12-09 07:05:42
这是我的源代码

package ch01;
import java.sql.*;

public class Test2{

public static void main(String[] args) {

// Create a variable for the connection string.
String connectionUrl = "jdbc:sqlserver://localhost:1433;" +
"databaseName=mydatabase;integratedSecurity=true;";

// Declare the JDBC objects.
Connection con = null;
Statement stmt = null;
ResultSet rs = null;

try {
// Establish the connection.
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
con = DriverManager.getConnection(connectionUrl,"huaoxiang","huaoxiang986120");

// Create and execute an SQL statement that returns some data.
String SQL = "SELECT TOP 3 * FROM Table2";
stmt = con.createStatement();
rs = stmt.executeQuery(SQL);

// Iterate through the data in the result set and display it.
while (rs.next()) {
System.out.println(rs.getString(1) + " " + rs.getString(2));
}
}

// Handle any errors that may have occurred.
catch (Exception e) {
e.printStackTrace();
}

finally {
if (rs != null) try { rs.close(); } catch(Exception e) {}
if (stmt != null) try { stmt.close(); } catch(Exception e) {}
if (con != null) try { con.close(); } catch(Exception e) {}
}
}
}


错误信息

com.microsoft.sqlserver.jdbc.SQLServerException: 通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败。错误:“Connection refused: connect。请验证连接属性。确保 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:185)
at ch01.Test2.main(Test2.java:20)


一直是链接失败。。我用的是SQL2005的。TCP/IP协议也在配置工具中启用了。哎。就是不行。各位大神帮帮忙吧
...全文
476 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jevon__Wang 2014-12-31
  • 打赏
  • 举报
回复
看看数据库开启服务了没
nwpucyp 2014-12-23
  • 打赏
  • 举报
回复
数据库服务启动了没,监听配了没,端口是否被占用(建议使用一个大一点的端口),最后关了防火墙再试试。
Alex_Hui520 2014-12-22
  • 打赏
  • 举报
回复
防火墙拦截了,关掉试试
qq_24622467 2014-12-18
  • 打赏
  • 举报
回复
Sql Server有没有启动?
chiweitree 2014-12-18
  • 打赏
  • 举报
回复
像这种网络连接的问题,你可以先起个命令窗口telnet ip port试下,如果连上了,说明网络连接没有问题,然后再看程序的问题
勿视人非 2014-12-15
  • 打赏
  • 举报
回复
com.microsoft.sqlserver.jdbc.SQLServerException: 通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败。错误:“Connection refused: connect。请验证连接属性。确保 SQL Server 的实例正在主机上运行,且在此端口接受 TCP/IP 连接,还要确保防火墙没有阻止到此端口的 TCP 连接。 看下SQL Server数据库服务起来了没,端口正确不正确,如果没问题,直接关了防火墙再试试。
小小都不懂 2014-12-15
  • 打赏
  • 举报
回复
sqlserver 我记得应该有个扑订的 具体是什么忘记了,你查下看看 还有你这个user 是不是 有最高权限?
asd576926596 2014-12-15
  • 打赏
  • 举报
回复
引用 4 楼 dollarne 的回复:
出现这种问题时,你可以一一检查下列几个方面 1)在数据库中用户管理下检查用户权限 2)清空你的工作目录可能是残留了旧的配置 3)连接mysql的jar包是否匹配 4)密码配置错误 等你检查完这几个问题,如果还有问题可以再贴一下,我来看看
qzw1210 2014-12-10
  • 打赏
  • 举报
回复
先看下sqlserver端口, 开始-运行-CMD-netstat -ano 查看下监听端口 再者:检查下防火墙
dollarne 2014-12-10
  • 打赏
  • 举报
回复
出现这种问题时,你可以一一检查下列几个方面 1)在数据库中用户管理下检查用户权限 2)清空你的工作目录可能是残留了旧的配置 3)连接mysql的jar包是否匹配 4)密码配置错误 等你检查完这几个问题,如果还有问题可以再贴一下,我来看看
skgary 2014-12-10
  • 打赏
  • 举报
回复
你确认你本机装了sql server并启动了么?
可乐罐 2014-12-10
  • 打赏
  • 举报
回复
数据库链接被拒绝,一般是因为端口访问不允许。是不是服务器的防火墙设置成该端口不允许你的IP访问?
fai1985 2014-12-10
  • 打赏
  • 举报
回复
是不是服务没开?
Alex_Hui520 2014-12-10
  • 打赏
  • 举报
回复
telnet IP 1433 试试看能不能进入命令行
code小生 2014-12-10
  • 打赏
  • 举报
回复
检查防火墙; 是否有驱动包?并放在了合适的位置。 在保持协议启用的状态下做好上面两项再试。
一人一城 2014-12-09
  • 打赏
  • 举报
回复
你数据库连接的是1433端口吗?

62,614

社区成员

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

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