URL-адрес соединения JDBC для SQLServer express R2 - PullRequest
4 голосов
/ 13 февраля 2012

Я написал следующую строку для соединения с SQL Server Express r2:

Connection con = DriverManager.getConnection ("jdbc: sqlserver: // localhost / SQLEXPRESS; databaseName = abc", "sa", ""пароль ");

Выдается исключение: com.microsoft.sqlserver.jdbc.SQLServerException: TCP / IP-соединение с хостом localhost / SQLEXPRESS, порт 1433, не выполнено.Ошибка: «null. Проверьте свойства соединения, убедитесь, что экземпляр SQL Server работает на хосте и принимает соединения TCP / IP на порту, и что никакой брандмауэр не блокирует соединения TCP с портом.».

Я пошел по линии, чтобы устранить исключение:

TCP / IP для SQL Server Express По умолчанию TCP / IP для SQL Server Express отключен, поэтому JDBC не может подключиться к нему, и вы можете получить следующее исключение…

Ошибка сети IOException: в соединении отказано: подключить Включить TCP / IP

Чтобы включить TCP / IP, запустите диспетчер конфигурации SQL Server.

Разверните узел конфигурации сети SQL Server 2005,На правой панели выберите Протоколы для SQLEXPRESS.На правой панели теперь должны отображаться столбцы Protocols и Status.Выберите Включить в контекстном меню TCP / IP.Найти или настроить порт TCP / IP

После включения TCP / IP необходимо выяснить, какой номер порта использовать.SQL Server Express динамически распределяет порт при каждом его запуске, поэтому для поиска или настройки номера порта продолжайте использовать диспетчер конфигурации SQL Server…

Выберите «Свойства» в контекстном меню TCP / IP.Должно открыться диалоговое окно свойств TCP / IP.Выберите вкладку IP-адреса.В узле IPAll… Поле «Динамические порты TCP» показывает номер используемого порта.Если вы установите это поле пустым, SQL Server Express не должен автоматически выбирать другой порт при перезапуске.Установите желаемый номер порта в поле TCP Port.Нажмите OK, чтобы применить ваши настройки и закрыть диалоговое окно.

После этого также соединение дает то же исключение.

Ответы [ 4 ]

7 голосов
/ 13 июля 2012

Попробуйте запустить некоторый Java-код, чтобы протестировать его.Замените {имя-компьютера} \ SQLEXPRESS доменом, который вы видите в корневом узле SQL Server Management Studio.При установке SQL Express у вас была возможность изменить имя «SQLEXPRESS» на что-то нестандартное, чтобы оно также могло отличаться.Чтобы получить номер порта, откройте меню «Пуск» Windows> SQL Server 2008 R2> Инструменты настройки> Диспетчер конфигурации SQL Server> разверните «Конфигурация сети SQL Server»> Нажмите «Протоколы для SQLEXPRESS»> щелкните правой кнопкой мыши «TCP / IP» и выберите «Свойства».> нажмите вкладку / меню «IP-адреса»> в Windows XP вы увидите «IPAll» .. посмотрите на порт там.По умолчанию это должно быть 1433. Если у вас есть 2 версии SQL Express, то она может отличаться.Также убедитесь, что ваша служба работает (имеет статус «Запущено») в Панели управления Windows> Администрирование> Службы> SQL Server (SQLEXPRESS).Windows 7 немного отличается, но вы найдете это.

Двойная обратная косая черта должна быть в строке Java.Это просто печатает одну обратную косую черту во время выполнения, потому что это escape-последовательность.

import java.sql.*;

public class TestConnection
{
    public static void main(String[] args)
    {
        DB db = new DB();
        db.dbConnect("jdbc:sqlserver://{computer-name}\\SQLEXPRESS:1433;databaseName=abc;integratedSecurity=true;","sa","password");
    }
}

class DB
{
    public DB() {}

    public void dbConnect(String db_connect_string, String db_userid, String db_password)
    {
        try
        {
            Connection conn = DriverManager.getConnection(db_connect_string, db_userid, db_password);
            System.out.println("connected");
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
    }
};
2 голосов
/ 15 апреля 2012

Попробуйте использовать IP-адрес вашего локального компьютера вместо localhost.

1 голос
/ 10 августа 2017

У меня тоже такая же проблема в sqlserver2008.Чтобы устранить эти проблемы, выполните следующие действия: «Запустите sqlserver-> в окне входа в систему, выберите« Параметры »->« Свойства подключения »->« Подключиться к базе данных »->« Браузеры »и выберите имя базы данных ->, затем в разделе« Сетевой протокол »выберите TCP / IP.И выполните свою программу.

1 голос
/ 09 февраля 2016

Для SQL Server> 2005 необходимо также запустить службу Sql Server Browser .

Я успешно протестировал JBoss 7 с Sql Server 2014 Express.ОС: Windows 7. Настройки, которые я должен был сделать для сервера Sql:

  1. Включил параметр TCPIP в: Диспетчер конфигурации SQL Server -> Конфигурация сети сервера Sql -> Протоколы для имя_сервера
  2. Остановил следующие 2 службы и снова запустил их:

    • Sql Server (имя_сервера)
    • Sql Server Browser

Я не использовал ни порт, ни имя локального компьютера в URL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...