2015-06-15 7 views
1

Я использую MYSQL для моей базы данных. Я переключился на MSSQL, потому что кто-то хотел, чтобы я разработал на нем приложение. Я использовал MS SQL Server 2008 ранее, а затем повышен до MS SQL Server 2012. В JDBC, я использовал следующее:MS SQL JDBC-соединение с MS SQL Server 2012

String connectionUrl="jdbc:sqlserver://"+sname+";DatabaseName="+dbname; 

где SNAME мой «имя_компьютер/имя_экземпляр» (что правильно) и имя_бд сам пояснительный , Я также пробовал другие строки с номерами портов. Пробовал все это:

1) Щелкните правой кнопкой мыши на Sql Server в Sql Management Studio (SMS) -> Подключения -> Разрешить удаленные подключения.

2) правой нажал на Sql Server в SQL Management Studio (SMS) -> Security -> Разрешить удаленные подключения -> Установить режим Win и режим аутентификации Sql (т.е. смешанный режим)

3) Даже инвалиды Auth брандмауэр.

4) Sql Server Configuration Manager -> Конфигурация сети -> Протоколы -> Включена Общая память, Именованные каналы, TCP/IP.

5) Служба SQL Browser включена.

6) Here: «Сервер, прослушивающий ['any' 1433], должен быть указан в моем журнале SQL Server, который НЕ. Даже после повторного включения 1433, как в порту.

7) У меня есть также:

Видел много ссылок, как these, которые не помогают. Пробовал все ответы в this. В ответе кто-то упомянул команду telnet. Запуск

telnet 127.0.0.1 1433 

Я получаю «Не удалось открыть соединение с хостом на порту 1433: Ошибка соединения». Я попытался открыть порт через дополнительные настройки брандмауэра на панели управления. Я уже пробовал «advfirewall netsh» для включения портов.

Я использую это, чтобы в основном разработать веб-приложение на NetBeans. И простой способ подключения к базе данных занял весь день. Как будто Microsoft затрудняет использование MS SQL Server.

Ошибка я получаю:

se:com.microsoft.sqlserver.jdbc.SQLServerException: The TCP/IP connection to the host [host name], port 1433 has failed. Error: "Connection refused: connect. Verify the connection properties. Make sure that an instance of SQL Server is running on the host and accepting TCP/IP connections at the port. Make sure that TCP connections to the port are not blocked by a firewall." 

Может кто-нибудь помочь указать, что-то мне не хватает? Вот вид из моего окна Configuration Manager открывается из папки 2012 (я как 2008, 2012 папки в моих программах, ИДК, почему, потому что после того, как Updation не должны 2008 версии были удалены?):

ответ

0

Что в конечном итоге сработало для меня (после нескольких часов поиска по всем видам блогов):

  1. Установлен MS SQL 2012 с экземпляром по умолчанию. Это удалило версию 2008 года.
  2. Повторить все вышеперечисленное. Кроме того, добавлено исходящее правило для порта 1433. После многократного поиска найдена часть об исходящем правиле. Все говорят только о входящем правиле.
  3. Восстановленные услуги (SQL Browser, SQL Server) в Configuration Manager. Никаких изменений не происходит до его начала.
  4. Используется эта строка подключения (. С пользовательским = «ском» и имясервером в качестве имени экземпляра по умолчанию также используется пароль для SA):

    url = "jdbc:sqlserver://" + servername + ":1433;user=" + user + ";password=" + dbPass + "; namedPipe=true;DatabaseName=" + dbName; 
    

Примечание: Я перезапускать сервер снова каждый раз, когда Я вхожу в компьютер с Пуск-> Все программы -> Microsoft SQL Server 2012 -> Инструменты настройки-> Диспетчер SQL Server-> Службы SQL-> Щелкните правой кнопкой мыши на SQL Server с моим именем экземпляра по умолчанию и запустите его. Затем выполните команду telnet:

telnet 127.0.0.1 1433 

показывает пустой экран. Это означает, что теперь работает порт 1433.

+0

Драйверы MS JDBC отлично работают с именованными экземплярами, поэтому переход на экземпляр по умолчанию не является решением вашей проблемы. – alroc

+0

Не знаю, почему тогда, но после неоднократных попыток вышеуказанных шагов это сработало. – user2816215

Смежные вопросы