最近学习Java,学到了连接数据库,所以就自己动手编写了一个Java程序,但是连不上数据库,请帮我找一下错误的原因,谢谢~~~~
我用的是SQLServer 2000的数据库,而且三个驱动jar包都已经正确导入,可能跟SQLServer 2000的设置有关,请大家指教一下,谢谢!!代码如下:
package com.zjx.javadatabase;import java.sql.Statement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;public class JavaURL {
public static void main(String args[])
{
Connection conn=null;
Statement stmt=null;
ResultSet rs=null;
String connectStr="com.microsoft.jdbc.sqlserver.SQLServerDriver";
String urlStr="jdbc:microsoft:sqlserver://localhost:1433;DataBaseName=contact";
String sqlStr="select * from contactpeople";
String userName="sa";
String userPass="";
try {
Class.forName(connectStr);
System.out.println("数据库驱动程序注册成功!"); conn=DriverManager.getConnection(urlStr,userName,userPass);
System.out.println("数据库连接成功!"); stmt=conn.createStatement();
rs=stmt.executeQuery(sqlStr);
System.out.println("所有联系人的信息如下所示:");
while(rs.next())
{
System.out.println("姓名:"+rs.getString(1));
System.out.println("联系方式:"+rs.getString(2));
System.out.println("QQ号为:"+rs.getString(3));
System.out.println("联系人分类为:"+rs.getString(4));
System.out.println("生日为:"+rs.getString(5));
System.out.println("性别为:"+rs.getString(6));
System.out.println();
}
rs.close();
stmt.close();
conn.close();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.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(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at com.zjx.javadatabase.JavaURL.main(JavaURL.java:26)请各位高手帮我解决一下这个问题~~~
我用的是SQLServer 2000的数据库,而且三个驱动jar包都已经正确导入,可能跟SQLServer 2000的设置有关,请大家指教一下,谢谢!!代码如下:
package com.zjx.javadatabase;import java.sql.Statement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;public class JavaURL {
public static void main(String args[])
{
Connection conn=null;
Statement stmt=null;
ResultSet rs=null;
String connectStr="com.microsoft.jdbc.sqlserver.SQLServerDriver";
String urlStr="jdbc:microsoft:sqlserver://localhost:1433;DataBaseName=contact";
String sqlStr="select * from contactpeople";
String userName="sa";
String userPass="";
try {
Class.forName(connectStr);
System.out.println("数据库驱动程序注册成功!"); conn=DriverManager.getConnection(urlStr,userName,userPass);
System.out.println("数据库连接成功!"); stmt=conn.createStatement();
rs=stmt.executeQuery(sqlStr);
System.out.println("所有联系人的信息如下所示:");
while(rs.next())
{
System.out.println("姓名:"+rs.getString(1));
System.out.println("联系方式:"+rs.getString(2));
System.out.println("QQ号为:"+rs.getString(3));
System.out.println("联系人分类为:"+rs.getString(4));
System.out.println("生日为:"+rs.getString(5));
System.out.println("性别为:"+rs.getString(6));
System.out.println();
}
rs.close();
stmt.close();
conn.close();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.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(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at com.zjx.javadatabase.JavaURL.main(JavaURL.java:26)请各位高手帮我解决一下这个问题~~~
http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=8e2dfc8d-c20e-4446-99a9-b7f0213f8bc5安装好这个 SP4 后的版本应该为 8.00.2039,如果是这个的话,再试着用 JDBC 连连看。
第四:连接的时候,数据库的服务器必须是开启状态,此时屏幕右下角的通知区域会有一个绿色的小箭头