java连接本地数据库,连接不上。、、、、

lu_script 2009-12-21 12:39:55
public class DatabaseOperation {
Connection conn= null;
/**
*
* 取得当前数据库的连接
*
* @param connHostName 主机名称或IP Address
* @param connPort 连接数据库端口
* @param dbDBAUserName 连接数据库DBA用户名
* @param dbDBAPassword 连接数据库DBA用户密码
* @return
*/
public Connection connectDatabase(String connHostName,String connPort,String dbDBAUserName,String dbDBAPassword) {

try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
String url = "jdbc:sqlserver://" + connHostName + ":" + connPort + ";DatabaseName=master";
conn = DriverManager.getConnection(url, dbDBAUserName, dbDBAPassword);

setConn(conn);
}catch (Exception ex){
ex.printStackTrace();
setConn(null);
}
return getConn();
}




main方法

public static void main(String[] args) {
DatabaseOperation db = new DatabaseOperation();
System.out.println("============"+ db.connectDatabase("localhost", "1433", "sa", "123456"));;
}

端口是1433
驱动的包没有错,因为可以连接别人的数据库、


报错如下:
com.microsoft.sqlserver.jdbc.SQLServerException: 到主机 的 TCP/IP 连接失败。 java.net.ConnectException: Connection refused: connect
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.loginWithoutFailover(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at org.com.sap.db.DatabaseOperation.connectDatabase(DatabaseOperation.java:55)
at org.com.sap.db.DatabaseOperation.main(DatabaseOperation.java:229)
============null


没有高人知道、、指点一二


“Connection refused: connect
com.microsoft.sqlserver.jdbc.SQLServerException: 到主机 的 TCP/IP 连接失败。 java.net.ConnectException: Connection refused: connect
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.loginWithoutFailover(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)

java 连sql2005出现这个错误时,首先检查是否引用了sql 2005的包;
第二步,看你的sql 2005是否开启了远程访问权限,具体设置如下:


进入“Microsoft SQL Server 2005 ”——“配置工具”——“SQL Server 外围应用配置器”

在进入“MSSQLSERVER"——“DATABASE" Engine”——“远程连接”

选择“本地连接和远程连接(R)"——”同时使用tcp/ip和named pipes(B)"

最后重启sql server 2005 ”




试过了,不是这个问题。。。
...全文
830 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
HEAVEN 2010-06-27
  • 打赏
  • 举报
回复
在sql2005数据库文件里可以设置数据库用哪个端口进行连接
huwenbiao2010 2010-03-26
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 jaa0412 的回复:]
了解,非常感謝是1433的端口没有打开
[/Quote]
怎么打开端口啊
jaa0412 2010-01-19
  • 打赏
  • 举报
回复
了解,非常感謝是1433的端口没有打开
lu_script 2009-12-28
  • 打赏
  • 举报
回复
问题找出来了,是1433的端口没有打开。。。。
gcw633 2009-12-22
  • 打赏
  • 举报
回复
connection引用的包有没有错啊
雄牛 2009-12-21
  • 打赏
  • 举报
回复
v
雄牛 2009-12-21
  • 打赏
  • 举报
回复

路过~~~~~
友情up~~~~~~~~
荷包蛋他娘 2009-12-21
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 lu_script 的回复:]
引用 6 楼 ikswhy 的回复:
应该是你的driver有写错了,
把这段改到你程序的try里面
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";




java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)

是对的、
[/Quote]

这样的话, 就只有可能是你本地机子上的数据库访问权限有问题了..
你换到别的机子上 访问你的数据库看看,
测试一下登录名/密码.
lu_script 2009-12-21
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 ikswhy 的回复:]
应该是你的driver有写错了,
把这段改到你程序的try里面
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";

[/Quote]


java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)

是对的、
lu_script 2009-12-21
  • 打赏
  • 举报
回复
直接操作数据库是可以的 ,连接别的机器也是行的
忆轩辕 2009-12-21
  • 打赏
  • 举报
回复
还有就是你确定你的本地数据库能够通过你的账户连接?
荷包蛋他娘 2009-12-21
  • 打赏
  • 举报
回复
应该是你的driver有写错了,
把这段改到你程序的try里面
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";
忆轩辕 2009-12-21
  • 打赏
  • 举报
回复
数据库是什么版本?
lu_script 2009-12-21
  • 打赏
  • 举报
回复
PVGD50037889A\\SQLEXPRESS
PVGD50037889A
127.0.0.1
localhost
都试 了、、、、
boboo_2000_0 2009-12-21
  • 打赏
  • 举报
回复
楼主看看下面错误:

com.microsoft.sqlserver.jdbc.SQLServerException: 到主机 的 TCP/IP 连接失败。 java.net.ConnectException: Connection refused: connect

错误中没有主机名,应该是主机地址的问题,楼主换成计算机名试一下。
lu_script 2009-12-21
  • 打赏
  • 举报
回复

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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