import java.sql.*;
public class SQL_JDBC{
public static void main(String[] args){
Connection conn;
String driver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
String url="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=pubs";
String user="sa";
String pwd="";
try{
Class.forName(driver);
conn=DriverManager.getConnection(url,user,pwd);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from jobs";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()){
System.out.print(""+rs.getInt(1));
System.out.println("\t"+rs.getString(2));
}
stmt.close();
conn.close();
System.out.println("\n"+"Test ok!");
}catch(ClassNotFoundException e){
System.out.println("未找到要加载的驱动类");
}catch(SQLException e){
System.out.println("SQL错误提示:"+e);
}
}
}
运行时显示:[Microsoft][SQL server200 Driver for JDBC]Error establishing socket
请问如何解决
public class SQL_JDBC{
public static void main(String[] args){
Connection conn;
String driver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
String url="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=pubs";
String user="sa";
String pwd="";
try{
Class.forName(driver);
conn=DriverManager.getConnection(url,user,pwd);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from jobs";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()){
System.out.print(""+rs.getInt(1));
System.out.println("\t"+rs.getString(2));
}
stmt.close();
conn.close();
System.out.println("\n"+"Test ok!");
}catch(ClassNotFoundException e){
System.out.println("未找到要加载的驱动类");
}catch(SQLException e){
System.out.println("SQL错误提示:"+e);
}
}
}
运行时显示:[Microsoft][SQL server200 Driver for JDBC]Error establishing socket
请问如何解决
在pubs后面再加一个;
改后为String url="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=pubs;";
程序没有问题,应该是1433端口没有打开,你可以输入:netstat –an 来查看有没有tcp:0.0.0.0:1433,没有的话想办法打开吧,有可能系统和数据库的问题
MICROSOFT SQL SERVER 2000 SERVICE PACK 3
可能性比较大的还是补丁问题,SQL SERVER 2000要SP3以上的补丁