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