MSSQL通过JDBC错误:java.lang.UnsupportedOperationException

时间:2014-01-22 11:47:23

标签: java sql-server maven exception jdbc

我正在尝试通过Java访问MSSQL数据库,只是写了一个小测试类来查看连接是否正常工作。我已经通过maven依赖项将JDBC驱动程序添加到构建路径中。

异常翻译: 此驱动程序不支持。使用类库提供'sqljdbc4.jar',支持JDBC 4.0

但是,在执行代码时会抛出java.lang.UnsupportedOperationException。以下是完整的错误日志:

java.lang.UnsupportedOperationException: Die Java-Laufzeitumgebung (Java Runtime Environment, JRE), Version 1.7, wird von diesem Treiber nicht unterstützt. Verwenden Sie die     Klassenbibliothek 'sqljdbc4.jar', die Unterstützung für JDBC 4.0 bietet.
at com.microsoft.sqlserver.jdbc.SQLServerConnection.<init>(SQLServerConnection.java:304)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1011)
at java.sql.DriverManager.getConnection(DriverManager.java:579)
at java.sql.DriverManager.getConnection(DriverManager.java:221)
at test.TestJDBC.dbTest.main(dbTest.java:28)

这是我的测试课程:

package test.TestJDBC;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class dbTest {

@SuppressWarnings( "nls" )
public static void main( final String args[] ) {
    Connection connection = null;
    try {

        // the sql server driver string
        Class.forName( "com.microsoft.sqlserver.jdbc.SQLServerDriver" );

        // the sql server url
        String url = "jdbc:sqlserver://[dbserver]:1433;DatabaseName=[dbname]";

        // get the sql server database connection
        connection = DriverManager.getConnection( url, "XXX", "YYY" );

        System.out.println( "Connected." );

        // Create and execute an SQL statement that returns some data.
        String SQL = "SELECT X, Y, Z FROM ABC";
        Statement stmt = connection.createStatement();
        ResultSet rs = stmt.executeQuery( SQL );

        // Iterate through the data in the result set and display it.
        while ( rs.next() ) {
            System.out.println( rs.getString( 1 ) + " " + rs.getString( 2 ) );
        }

    } catch ( Exception e ) {
        System.out.println( "Es ist ein Fehler aufgetreten:" );
        System.out.println( e.getMessage() );
        e.printStackTrace();
        System.exit( 0 );
    }
}

}

如果有人能指出我所犯的错误,我将不胜感激,因为我似乎无法弄明白。

1 个答案:

答案 0 :(得分:0)

谷歌翻译说,例外是:

  

此驱动程序不支持Java Runtime Environment(Java Runtime Environment,JRE)1.7版。使用类库'sqljdbc4.jar',它提供对JDBC 4.0的支持。

所以看起来你需要通过这里的页面下载最新版本的JDBC驱动程序

Microsoft JDBC Driver for SQL Server