2017-02-14 2 views
0

Я работаю над проектом, в котором мне нужно объединить Eclipse IDE в базу данных SQLServer. Я скачал и импортирован .jar SQLJBDC файл драйвера в Eclipse, а затем вставьте следующий код в моем классе:Connection SQL server 2012 - Eclipse Neon

`import java.sql.*; 
import java.sql.DriverManager; 

public class connexion { 

// Méthode permettant d'enregistrer des données dans la base de données 
public static void rempli() { 

    String url = "jdbc:sqlserver://localhost:1433;databaseName=Tunnel" ;// le chemin vers le serveur de BD et la base de données 
    String user = "sa"; // Nom d'un utilisateur de la base de données 
    String pass = "*********"; // Son mot de passe 
    Connection cn = null; // Déclaration d'un objet de type connection, il permet d'utiliser une méthode de connexion 
    Statement st = null; // Déclaration d'un objet Statement. il permet d'envoyer des requêtes 
    try { 

       //Etape 1 : Chargement du driver 
      Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 
       //Etape 2 : récupération de la connexion 
      cn = DriverManager.getConnection(url, user, pass); 


    } 
    catch (SQLException | ClassNotFoundException e) { 

     e.printStackTrace(); 
    } 
} 
public static void main(String[] args) { 

    rempli(); 
} 
}` 

Когда я запустил программу, я имел следующий ответ после почти 20 секунд:

com.microsoft.sqlserver.jdbc.SQLServerException: Échec de la connexion TCP/IP à l'hôte localhost, port 1433. Erreur : « Connection refused: connect. Vérifiez les propriétés de connexion. Assurez-vous qu'une instance de SQL Server est en cours d'exécution sur l'hôte et accepte les connexions TCP/IP au port. Vérifiez que les connexions TCP au port ne sont pas bloquées par un pare-feu. ». 
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:191) 
at com.microsoft.sqlserver.jdbc.SQLServerException.ConvertConnectExceptionToSQLServerException(SQLServerException.java:242) 
at com.microsoft.sqlserver.jdbc.SocketFinder.findSocket(IOBuffer.java:2369) 
at com.microsoft.sqlserver.jdbc.TDSChannel.open(IOBuffer.java:551) 
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1963) 
at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:1628) 
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:1459) 
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:773) 
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1168) 
at java.sql.DriverManager.getConnection(Unknown Source) 
at java.sql.DriverManager.getConnection(Unknown Source) 
at connexion.rempli(connexion.java:21) 
at connexion.main(connexion.java:32) 

Я дезактивировал свой брандмауэр, авторизованный доступ к различным портам TPC, и я не знаю, что делать дальше. Может кто-нибудь мне помочь?

Благодарим за помощь!

+0

Вы пробовали Telnet, чтобы проверить, можете ли вы подключиться к базе данных на localhost port 1433? –

+0

Мой французский слишком плохой, чтобы понять все сообщение об ошибке, но вы включили TCP на SqlServer. Если я правильно помню, TCP по умолчанию отключен ... – Ben

+0

Да, я проверяю все это, а также брандмауэр, но все еще это сообщение об ошибке ... – Carlito1895

ответ

0

Если вы уже настроили MS SQL сервер для прослушивания TCP/трафика IP, то это может быть любой из этих причин:

  • Firewall блокирует входящие соединения
  • SQL SERVER не работает на хосте
  • порт вы настроили не правильно, то есть его не 1433

Если вы проверили, что этот вопрос не относится к указанным выше категориям, то вы может попытаться сделать это, чтобы включить порт 1433 для трафика TCP/IP!

  • Перейдите в меню Пуск -> Все программы -> Microsoft SQL Server 2008/2012/2014 -> Инструменты настройки
  • Нажмите Диспетчер конфигурации SQL Server
  • Развернуть SQL Server Network Конфигурация-> Протокол
  • Включить TCP/IP Правый флажок
  • Дважды щелкните по TCP/IP и перейдите на вкладку «IP-адреса» и добавьте 1433 под TCP-порт.

После этих изменений вам придется перезагрузить SQL Server Services > SQL Server

Если это не помогает, то вы можете добавить следующее, а также:

System.setProperty("java.net.preferIPv4Stack", "true"); 

Или передать его как В.М. опция: -Djava.net.preferIPv4Stack=true

Надеюсь, что это поможет!

+0

Да, это было так: «Двойной щелчок по TCP/IP и перейдите на вкладку «IP-адреса» и добавьте 1433 под TCP-порт ». – Carlito1895

+0

Спасибо за ответы – Carlito1895

+0

@ Carlito1895, рад помочь! –