Java SQL Server 连接错误

标签 java sql-server sql-server-2005 jdbc

我已经编写了sql server连接部分。当我运行此代码时,我收到此错误。

    Error Trace in getConnection() : com.microsoft.jdbc.sqlserver.SQLServerDriver
Error: No active Connection
java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClassInternal(Unknown Source)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    at com.sample.DB.getConnection(DB.java:30)
    at com.sample.DB.displayDbProperties(DB.java:49)
    at com.sample.DB.main(DB.java:85)

我已经安装了sql sever 2008 R2。我搜索谷歌找不到解决方案......

这是我的代码

    public class DB {
    private java.sql.Connection  con = null;
    private final String url = "jdbc:microsoft:sqlserver://";
    private final String serverName= "localhost";
    private final String portNumber = "1433";
    private final String databaseName= "XONTHOMass_User";
    private final String userName = "sa";
    private final String password = "xont@123";
    // Informs the driver to use server a side-cursor, 
    // which permits more than one active statement 
    // on a connection.
    private final String selectMethod = "cursor"; 



    private String getConnectionUrl(){
         return url+serverName+":"+portNumber+";databaseName="+databaseName+";selectMethod="+selectMethod+";";
    }

    private java.sql.Connection getConnection(){
         try{
             System.out.println("========1========");
             Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); 
             System.out.println("==== 2=====");
             con = java.sql.DriverManager.getConnection(getConnectionUrl(),userName,password);
             if(con!=null) System.out.println("Connection Successful!");
         }catch(Exception e){
              e.printStackTrace();
              System.out.println("Error Trace in getConnection() : " + e.getMessage());
        }
         return con;
     }

    /*
         Display the driver properties, database details 
    */ 

    public void displayDbProperties(){
         java.sql.DatabaseMetaData dm = null;
         java.sql.ResultSet rs = null;
         try{
              con= this.getConnection();
              if(con!=null){
                   dm = con.getMetaData();
                   System.out.println("Driver Information");
                   System.out.println("\tDriver Name: "+ dm.getDriverName());
                   System.out.println("\tDriver Version: "+ dm.getDriverVersion ());
                   System.out.println("\nDatabase Information ");
                   System.out.println("\tDatabase Name: "+ dm.getDatabaseProductName());
                   System.out.println("\tDatabase Version: "+ dm.getDatabaseProductVersion());
                   System.out.println("Avalilable Catalogs ");
                   rs = dm.getCatalogs();
                   while(rs.next()){
                        System.out.println("\tcatalog: "+ rs.getString(1));
                   } 
                   rs.close();
                   rs = null;
                   closeConnection();
              }else System.out.println("Error: No active Connection");
         }catch(Exception e){
              e.printStackTrace();
         }
         dm=null;
    }     

    private void closeConnection(){
         try{
              if(con!=null)
                   con.close();
              con=null;
         }catch(Exception e){
              e.printStackTrace();
         }
    }
    public static void main(String[] args) throws Exception
      {
         DB myDbTest = new DB();
         myDbTest.displayDbProperties();
      }
}

请帮助我..我使用 eclipse 完成了这个应用程序。我还放置了 jar 文件“sqljdbc4.jar”...

请帮助我

最佳答案

您收到异常:

java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver

这意味着您的程序无法找到驱动程序,因此甚至不会尝试连接到数据库。

Mircosoft 有一篇关于 How to Get Started with Microsoft JDBC 的文章:

The Microsoft SQL Server 2000 driver for JDBC .jar files must be listed in your CLASSPATH variable. The CLASSPATH variable is the search string that Java Virtual Machine (JVM) uses to locate the JDBC drivers on your computer..

关于Java SQL Server 连接错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8092012/

相关文章:

java - 如何对嵌套的 ArrayList 进行 for 循环?

sql - 需要大于 1 比 1 的结果

java - 获取错误膨胀类工具栏

java - API 23 本地位置不可用

java - 如何使用可中断 channel 下载文件? (蔚来)

sql - 如何使用占位符将列名值作为 SQL 参数传递

sql - 使用 T-SQL 根据年月日创建日期

php - 使用php备份和恢复SQL Server数据库

c# - 如何摆脱 SQL Server 2005 和 C# 应用程序中的死锁?

sql - 如何将未知数量的行连接到另一行?