如何使Java与SQL Server一起使用?

dor*_*oro 32 java sql-server jdbc

我知道这是一个基本问题,但我似乎无法找到答案而且我道歉,如果这个问题太愚蠢,但我们走了:

我应该使用SQL Server(到目前为止没问题)和Java(爱java,所以这里也没问题),但现在:我应该怎样做才能使组合工作?我得到了:JRE 1.6sqljdbc4.jar ......在我将sqljdbc4.jar放入我的类路径之前,我在其中有sqljdbc.jar并且使用测试程序我得到了这个异常:

21.08.2009 09:26:59 com.microsoft.sqlserver.jdbc.SQLServerConnection <init>
SCHWERWIEGEND: Die Java-Laufzeitumgebung (Java Runtime Environment, JRE), Version 1.6,
wird von diesem Treiber nicht unterstützt. Verwenden Sie die Klassenbibliothek 
'sqljdbc4.jar', die Unterstützung für JDBC 4.0 bietet.
java.lang.UnsupportedOperationException: Die Java-Laufzeitumgebung (Java Runtime 
Environment, JRE), Version 1.6, 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:223)
    at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:840)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at msSqlTest.DB.dbConnect(DB.java:13)
    at msSqlTest.TestConnection.main(TestConnection.java:7)
Run Code Online (Sandbox Code Playgroud)

对不起,对于德语...它基本上意味着,我应该使用sqljdbc4.jar,b/c驱动程序不支持我正在使用的JRE.所以我把sqljdbc4.jar放到我的类路径中,但它不起作用,所以我有点迷茫,我能做什么.

也许有人可以告诉我应该做什么,我该做什么:(

哦是的,这是测试appI使用:

import java.sql.*;

public class TestConnection{
    public static void main(String[] args){
        // Neue DB und los geht's :)
        DB db = new DB();
        db.dbConnect("jdbc:sqlserver://localhost:1433/muff", "user", "pw" );
    }
}

class DB{
    public void dbConnect(  String db_connect_string, 
                            String db_userid, 
                            String db_password){
        try{
        Class.forName( "com.microsoft.sqlserver.jdbc.SQLServerDriver" );
            Connection conn = DriverManager.getConnection(
                            db_connect_string, 
                        db_userid, 
                        db_password);
            System.out.println( "connected" );
        }
        catch( Exception e ){
            e.printStackTrace();
        }
    }
};
Run Code Online (Sandbox Code Playgroud)

oxb*_*kes 28

你试过jtdsSQLServer 的驱动程序吗?


Jes*_*per 8

不要将旧的sqljdbc.jar和新的sqljdbc4.jar放在类路径中 - 如果这两个JAR都包含具有相同限定名的类,这将使(或多或少)不可预测使用哪些类.

你说你把sqljdbc4.jar放在你的类路径中 - 你是否从类路径中删除了旧的sqljdbc.jar?你说"它不起作用",这究竟是什么意思?你确定你的类路径中仍然没有旧的JAR(可能没有明确)吗?