Ligar o JDBC ao servidor SQL

estou a tentar ligar o meu código JAVA a um servidor SQL que tenho localmente.Isto é o que eu estou tentando:

     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
}}

tenho esta excepção:

    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)
E estou muito presa... Agradecia a sua ajuda, mas por favor seja específico nas suas respostas.

actualizar:

Estou a usar o eclipse e descarreguei o jbdc4 . pode dizer-me como posso incluí-lo no eclipse, por favor?

Author: user1912404, 2012-12-18

5 answers

Tente o driverjtds , é um driver alternativo para MS SQL. Para mais informações sobre como usar o driver correctamente, leia por favor o a começar.

 2
Author: Obl Tobl, 2012-12-18 10:00:12

Você pode tentar ligar o código JAVA a um servidor SQL localmente da forma abaixo mencionada também..

Tens de ter Controlador JDBC do servidor SQL da Microsoft Ficheiro de autenticação SQL JDBC

Após a autenticação, você depois de obter o ficheiro de autenticação, copie este ficheiro para a pasta system32 da janela. agora defina a localização da classe do controlador JDBC do servidor SQL (ficheiro jar ). agora suponha que você tem uma base de dados mssumit , nome de usuário e senha é sumit. você também pode se conectar ao servidor SQL com viúvas autenticação, você pode usar o seguinte código se você quiser se conectar com a autenticação do 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;");

Em algum momento é possível que você não seja capaz de se conectar com o nome de usuário, nesse caso verifique por favor as propriedades de conexão da base de dados que você é capaz de se conectar com a autenticação do servidor SQL. instanciar a classe de controlador do servidor de SQL com o seguinte código

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
Connection conn=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=mssumit;user=sumit;password=sumit;");

Para uma explicação detalhada, procedimento e código-fonte, pode verificar esta ligação http://compilr.org/java/jdbc-connection-with-ms-sql-server-in-java/

 2
Author: sumit sharma, 2012-12-18 10:26:35

Leia a mensagem de excepção e verá que está a usar um controlador JDBC antigo que não suporta o Java 1.6.

Você deve obter a nova versão que usa o JDBC 4.0 ({[[0]}) a partir de aqui

 1
Author: Aviram Segal, 2012-12-18 09:41:57

O seu ambiente de execução usa o JRE 1.6 e o jar sql que está a usar não é compatível com o java 6.Incluir o sqljdbc4.frasco em vez disso.

 1
Author: Renjith, 2012-12-18 09:42:21

Espero que este tópico o ajude - Como é que me ligo a uma base de dados SQL Server 2008 usando o JDBC?.

Essencialmente, existem algumas maneiras de usar o JDBC - usando a autenticação do Windows e a autenticação SQL. A autenticação SQL é provavelmente a mais fácil. O que podes fazer é algo como:

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);

Depois de adicionar sqljdbc4.frasco para o caminho de construção.

Para a autenticação de janelas, poderá fazer algo do género:

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

E depois adicionar o caminho para sqljdbc_auth.dll como um argumento VM (ainda precisa sqljdbc4.jar in the build path).

Dê uma vista de olhos aqui para um pequeno guia passo-a-passo que mostra como se ligar ao servidor SQL a partir de Java, usando o jTDS e o JDBC a usar o eclipse, caso precise de mais detalhes. Espero que ajude!

 0
Author: Thusi, 2017-05-23 11:58:38