Не удается подключиться к SQL Server Express 2008 из приложения MVC - PullRequest
3 голосов
/ 26 марта 2011

Мой новый Server 2008 R2 Server не будет принимать соединения от моего приложения MVC3.

Я пытался заставить это работать в течение 3 дней.Он просто не будет подключаться через браузер.Однако я могу войти через SQL Server Mgmt Studio с учетными данными пользователя, а также с правами администратора.

Я сделал следующее:

  • Настройка удаленных подключений для принятия (даже если IISи SqlExpress работают на одной и той же коробке)
  • Включены именованные каналы / tcp / shared memory
  • Отключены динамические порты для конфигурации TCP (моя опция пуста)
  • Указан портКонфигурация TCP
  • Отключенный брандмауэр Windows

Я понимаю, что это общая ошибка, но она не будет подключаться.

Строка подключения:

add name="Main.ConnectionString" 
   connectionString="Data Source=.\sqlexpress;Initial Catalog=BJ;User Id=Jameson;Password=pass!;"

Я получаю следующую ошибку (YSOD):

При установке соединения с SQL Server произошла ошибка, связанная с сетью или экземпляром.Сервер не найден или не был доступен.Убедитесь, что имя экземпляра указано правильно и что SQL Server настроен для разрешения удаленных подключений.(поставщик: сетевые интерфейсы SQL, ошибка: 26 - ошибка при поиске указанного сервера / экземпляра)

[SqlException (0x80131904): при установке соединения с SQL Server произошла ошибка, связанная с сетью или экземпляром.Сервер не найден или не был доступен.Убедитесь, что имя экземпляра указано правильно и что SQL Server настроен для разрешения удаленных подключений.(поставщик: сетевые интерфейсы SQL, ошибка: 26 - ошибка при поиске сервера / указан экземпляр)]

Как это можно исправить?

Ответы [ 2 ]

2 голосов
/ 26 марта 2011

Несколько проблемных вещей, которые я бы проверил:

  • Ваш код явно использует Main.ConnectionString? Дважды проверьте это - я видел случаи, когда LINQ To SQL имел жестко закодированную строку подключения в .dbml. Я понимаю, что вы не упомянули LINQ To SQL, но это могло бы пойти и на EF.

  • поиск в вашем коде любого остатка жестко закодированной строки соединения.

  • повторно разверните ваш проект с новой сборкой

  • Ваша рабочая станция dev нормально подключается с той же строкой подключения?

2 голосов
/ 26 марта 2011

Если вы используете аутентификацию SQL, ваша строка подключения должна выглядеть следующим образом:

Data Source=myServerAddressIP\SQLEXPRESS;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;

, а если вы используете аутентификацию Windows:

Data Source=myServerAddressIP\SQLEXPRESS;Initial Catalog=myDataBase;Integrated Security=SSPI;

Также убедитесь, что брандмауэр неблокировка соединений.

Для получения дополнительной информации оформите следующий сайт .И если у вас все еще есть проблемы с настройкой SQL Server, не стесняйтесь задать свой вопрос по https://serverfault.com/

...