将JDBC与SQL Server连接

时间:2012-12-18 09:37:20

标签: java sql sql-server jdbc

我试图将我的JAVA代码连接到本地的SQL Server。这就是我想要的:

     public static void main(String[] args) throws ClassNotFoundException, SQLException, InvalidFormatException, IOException  {

         Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");    
         con = DriverManager.getConnection("jdbc:sqlserver://localhost" + "databaseName=talisman" + "user=karim" + "password=123"); 

//rest of the code
}}

我遇到了这个例外:

    Dec 18, 2012 11:29:40 AM com.microsoft.sqlserver.jdbc.SQLServerConnection <init>
SEVERE: Java Runtime Environment (JRE) version 1.6 is not supported by this driver. Use the sqljdbc4.jar class library, which provides support for JDBC 4.0.
Exception in thread "main" java.lang.UnsupportedOperationException: Java Runtime Environment (JRE) version 1.6 is not supported by this driver. Use the sqljdbc4.jar class library, which provides support for JDBC 4.0.
    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(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at cct.karim.karim.main(karim.java:62)

我很困惑...... 我将非常感谢您的帮助,但请具体说明您的答案

更新

我正在使用eclipse,我下载了jbdc4。你能告诉我如何把它包含在日食中吗?

5 个答案:

答案 0 :(得分:2)

尝试使用jtds驱动程序,这是MS SQL的替代驱动程序。有关如何正确使用驱动程序的更多信息,请阅读Getting started

答案 1 :(得分:2)

您可以尝试以下面提到的方式在本地将JAVA代码连接到SQL Server。

你需要拥有 Microsoft SQL Server JDBC驱动程序 SQL JDBC身份验证文件

验证后

下载验证文件后,将此文件复制到window的system32文件夹中。现在设置SQL Server JDBC驱动程序的类路径(jar文件)。现在假设你有一个数据库mssumit,用户名和密码是sumit。您还可以使用widows身份验证连接到SQL Server,如果要使用Windows身份验证连接,可以使用以下代码。

Connection con=DriverManager.getConnection("jdbc:sqlserver://localhost;databaseName=mssumit;integratedSecurity=true");
Connection conn =DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=mssumit;user=sumit;password=sumit;");

在某些情况下,您可能无法使用用户名连接,请检查您可以使用SQL Server身份验证连接的数据库连接属性。使用以下代码

实例化SQL Server驱动程序类
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
Connection conn=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=mssumit;user=sumit;password=sumit;");

有关详细说明,程序和源代码,您可以查看此链接http://compilr.org/java/jdbc-connection-with-ms-sql-server-in-java/

答案 2 :(得分:1)

阅读异常消息,您将看到您正在使用不支持Java 1.6的旧JDBC驱动程序。

您应该从here

获取使用JDBC 4.0(sqljdbc4.jar)的新版本

答案 3 :(得分:1)

您的运行时环境使用jre 1.6,而您使用的sql jar与java不兼容。请改为使用sqljdbc4.jar。

答案 4 :(得分:0)

希望这个主题可以帮助你 - How do I connect to a SQL Server 2008 database using JDBC?

基本上,有两种方法可以使用JDBC - 使用Windows身份验证和SQL身份验证。 SQL身份验证可能是最简单的。你可以做的是:

String userName = "username";
String password = "password";

String url = "jdbc:sqlserver://MYPC\\SQLEXPRESS;databaseName=MYDB";

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection conn = DriverManager.getConnection(url, userName, password);
将sqljdbc4.jar添加到构建路径后

对于Window身份验证,您可以执行以下操作:

String url = "jdbc:sqlserver://MYPC\\SQLEXPRESS;databaseName=MYDB;integratedSecurity=true";
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection conn = DriverManager.getConnection(url);

然后将sqljdbc_auth.dll的路径添加为VM参数(在构建路径中仍需要sqljdbc4.jar)。

请查看here,了解如何在需要更多详细信息时使用eclipse使用jTDS和JDBC从Java连接到SQL Server的简短分步指南。希望它有所帮助!