Пример JDBC для java

#java #sql

#java #sql

Вопрос:

Я загрузил JDK 6, а также у меня есть sqljdb4.jar и у меня есть файл database.properties, содержащий следующие данные

database.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver 
database.url=jdbc: sqlserver://.;DatabaseName=userInfo;integratedSecurity= true; 
database.username=sa 
база данных.пароль =администратор

B.N: Я устанавливаю сервер на свой компьютер и указываю имя сервера = . , также я использую аутентификацию Windows

Моя проблема сейчас в том, что при попытке создать соединение у меня возникает следующая ошибка

com.microsoft.sqlserver.jdbc.SQLServerException: Произошел сбой TCP / IP-соединения с локальным хостом, порт 1433. Ошибка: отказано в подключении: подключитесь. Пожалуйста, проверьте свойства подключения и убедитесь, что экземпляр SQL Server запущен на хосте и принимает соединения TCP / IP через порт, и что никакой брандмауэр не блокирует TCP-соединения с портом. в com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:130)

Я не знаю, в чем именно здесь проблема

Если кто-нибудь может помочь, я буду признателен

Заранее спасибо

Комментарии:

1. Убедитесь, что у вас включен TCP / IP в диспетчере конфигурации SQL Server -> Конфигурация сети SQL Server -> Протоколы

2. да, я включил его, и он также работает на порту 1433, но у меня также возникает то же исключение

Ответ №1:

Это вызвано многими вероятностями, такими как 1- IP-адрес неправильный 2- Порт неправильный 3 — Брандмауэр не позволяет компьютеру выходить и подключаться к другому IP 4- SQL server не работает.

попробуйте использовать

     public class JdbcSQLServerDriverUrlExample
{
  public static void main(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:microsoft:sqlserver://HOST:1433;DatabaseName=DATABASE";

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

      // now do whatever you want to do with the connection
      // ...

    }
    catch (ClassNotFoundException e)
    {
      e.printStackTrace();
      System.exit(1);
    }
    catch (SQLException e)
    {
      e.printStackTrace();
      System.exit(2);
    }
  }
}
  

Что мне нужно объяснить, так это то, что существует очень хорошая технология под названием «Persistence», которая лучше, чем JDBC, и более чем великолепна и проста в использовании.

Комментарии:

1. Не могли бы вы предоставить ссылку или полное название для технологии «Сохранения», которую вы упомянули.

Ответ №2:

Проблема в том, что ваш SQL server либо

  • не установлен,
  • не выполняется или
  • не принимает соединения TCP / IP.

Особенно неприятен последний, поскольку я помню, что некоторые версии SQL Server не настроили соединитель TCP / IP для запуска по умолчанию.

Ответ №3:

Ну, в первую очередь нам нужно увидеть ваш код. Второй взгляд на сообщение об ошибке: база данных А) не запущена
Б) на другом порту
или В) код неверен.