日期:2014-05-20  浏览次数:20739 次

为什么连不上数据库呢?
我已经导入了驱动的jar包,可是不能正常运行。。。
代码如下:
import java.sql.*;
import java.io.*;
public class DBColumn 
{

public static void main(String args[])
{  
  Connection con=null;
  Statement sm=null;
  String command=null;
  ResultSet rs=null;
  String result; 
  try
  {
  try{
  Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
  }
  catch(IllegalAccessException e){}
  catch(InstantiationException e2){}
  System.out.println("驱动程序已加载");
   
  con=DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=model","sa",""); 
  System.out.println("OK,成功连接到数据库");
  } catch(ClassNotFoundException classnotfound) { }
  catch(SQLException sql) { sql.printStackTrace();} 
   
  try
  { sm=con.createStatement();
  command="select * from sysobjects";
  rs=sm.executeQuery(command);
   
   
  System.out.println("查询结果为:");
  while(rs.next());
  {
  result=rs.getString(1);
  System.out.println(result);
  }
   
  }
  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(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at DBColumn.main(DBColumn.java:29)
java.lang.NullPointerException
at DBColumn.main(DBColumn.java:38)

为什么呢?





------解决方案--------------------
sql server 打补丁了吗?
------解决方案--------------------
URL
------解决方案--------------------
jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=model"这个确定没问题吗?
------解决方案--------------------
自己数据库名是model吗?
------解决方案--------------------
1.去数据库查一下数据库的版本 print @@version 如果版本是sp3以上的
2.看看连接字符串有没有输入错误的可能
3.换下驱动包试试(不LZ用的是一个驱动包的还是三个驱动包的,我碰到过一个问题,就是有一次我也是做sqlserver 的JDBC连接,驱动包是网上下的一个驱动包msjdbc.tar,注意这个包不行。得用msbase.jar mssqlserver.jar msutil.jar这三个包驱动)