求助:JDBC无法连接SQL Server!!!

legoe 2005-01-03 07:53:42
代码如下:

package a;

import java.sql.*;

public class test {
public static void main(String args[]){
try{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
String url="jdbc:microsoft:sqlserver://legoe:1433;DatabaseName=NorthWind";
Connection con=DriverManager.getConnection(url,"a","a");
Statement st=conn.createStatement();
String query="select * from customers";
ResultSet rs=stmt.executeQuery(query);
while(rs.next()){
System.out.println(rs.getString(2));
}
st.close();
con.close();
}catch(Exception ex){
ex.printStackTrace();
}
}

}

出现异常如下:

java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.

at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)

at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)

at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)

at com.microsoft.jdbc.sqlserver.tds.TDSConnection.<init>(Unknown Source)

at com.microsoft.jdbc.sqlserver.SQLServerImplConnection.open(Unknown Source)

at com.microsoft.jdbc.base.BaseConnection.getNewImplConnection(Unknown Source)

at com.microsoft.jdbc.base.BaseConnection.open(Unknown Source)

at com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)

at java.sql.DriverManager.getConnection(DriverManager.java:512)

at java.sql.DriverManager.getConnection(DriverManager.java:171)

at a.test.main(test.java:14)



使用JBuilder X ,在SQL Server中用户已添加,驱动程序已加入,运行总是出现上述异常,说不能与信任SQL Server相关联,不知为什么?
...全文
169 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
cecilianet 2005-01-03
  • 打赏
  • 举报
回复
我也出现过上面的问题,下面是我的解决办法。
1。确定你的身份验证是SQL Server和Windows混和模式
2。有没有安装网卡。我试过把网线(双绞线)拨掉后出现过上面的问题,再连上就好了。
3。确定开了数据库端口1433,如果你的系统是xp的sp2的活,把防火墙端口打开就好了。
libin53 2005-01-03
  • 打赏
  • 举报
回复
连接失败,
看看你的数据库是不是设置的时候用的用户名是不是a,
密码是不是a啊,
legoe 2005-01-03
  • 打赏
  • 举报
回复
当然!可以使用JDBC/ODBC进行访问 *.mdb,不能使用JDBC连接SQL Server!!!
ahadfx 2005-01-03
  • 打赏
  • 举报
回复
type 4驱动装好了吗?
legoe 2005-01-03
  • 打赏
  • 举报
回复
点你的服务器,点“属性”下的"安全性”把“身份验证”设置成“SQL Server和Windows混和模式”
该方法没有效果
legoe 2005-01-03
  • 打赏
  • 举报
回复
用JBuilder 9 时可顺利通过,JBuilder X却不行
zhjlzl1314 2005-01-03
  • 打赏
  • 举报
回复
这个问题是因为你SQL Server的设置不对
你把它的验证模式设置成混和模式
具体方法如下:
点你的服务器,点“属性”下的"安全性”把“身份验证”设置成“SQL Server和Windows混和模式”

untitle 2005-01-03
  • 打赏
  • 举报
回复
我也有同样的错误.不知道为什么.我把我的也贴出来,参考一下.拜托!
 楼主

大家好!!

我使用的编辑器是JBuilder X,在连接数据库是总是出现错误,错误提示如下:

[Microsoft][SQLServer 2000 Dirver for JDBC]Error establishing socket.

这是为什么?我用ODBC连接却正常.

我的连接语句是这样的:
………………(省略)
public static java.sql.Connection cn;
………………(省略)
public static boolean OpenDB()

try{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
cn=java.sql.DriverManager.getConnection
("jdbc:microsoft:sqlserver://127.0.0.1:1433;User=sa;Password=;DatabaseName=notebook;");
}
………………(省略)


望高手指教!~~感激涕临!
两根腿毛 2005-01-03
  • 打赏
  • 举报
回复
看看你的jdbc支持的jdk版本,不要太高
legoe 2005-01-03
  • 打赏
  • 举报
回复
贴时出错,其实url连在String之后的
String url="jdbc:microsoft:sqlserver://legoe:1433;DatabaseName=NorthWind";
没有用,请各位高手请教!!!
zealVampire 2005-01-03
  • 打赏
  • 举报
回复
Unknown Source

可能是url有问题 不能连接倒你指定的数据库

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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