2016-02-28 5 views
2

У меня есть строка соединения:Не удается подключиться Entity Framework на локальный SQL Server Express

<connectionStrings> 
    <add name="SolrLocal" providerName="System.Data.SqlClient" connectionString="Data Source=.\SQLExpress;Initial Catalog=SpeedOfLightRailDB;Integrated Security=true" /> 
    </connectionStrings> 

Но я получаю сообщение об ошибке:

"A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)"

Это мой первый раз играет с SQL Server Express, поэтому мне может не хватать что-то очевидное ....

Может ли кто-нибудь хотя бы подтвердить, что это строка подключения должна выглядеть для Entity Framework -> SQL Sever Express? Я меняю его, пытаясь заставить его работать.

+1

Убедитесь, что служба MS SQL Server запущена. Для этого просто зайдите в «Панель управления»> «Администрирование»> «Службы» и попытайтесь найти «sql ...». убедитесь, что они имеют статус «Запуск». Другой совет - использовать имя сетевого устройства вместо точки для поля источника данных, например: «Hardworker \ sqlexpress; ...» –

+0

Можете ли вы подключиться.\ SQLExpress в этом поле через SSMS? –

+0

Является ли ваш веб-сервер на том же сервере, что и SQL Server? –

ответ

0

Вы используете .\SQLExpress, и я думаю, что ваше локальное имя сервера отличается. Что вы можете сделать, так это открыть свой SQL Server, а затем подключиться к используемому имени сервера. Вы должны ввести одно и то же имя в своей веб-конфигурации. См ниже изображение, которое показывает имя сервера при подключении к серверу SQL, в моем случае мне нужно заменить .\SQLExpress с RAJSHEKAR-PC\SQLEXPRESS

enter image description here

+1

'.' и' localhost' означают «подключиться к локальному хосту». Нет необходимости указывать имя хоста. –

+0

Это зависит от того, как была выполнена установка. Во время установки мы можем установить его. или localhost или имя хоста, он никогда не свяжется, просто сказав. и localhost только из-за того, что он установлен на вашей локальной машине. Это зависит от установки –

+0

ерунда. если вы перейдете в 'cmd' и введите' ping localhost', вы обнаружите, что он пинги вашего локального компьютера. Они все решают одно и то же. –

1

Попробуйте это:

<connectionStrings> 
    <add name="SolrLocal" 
     providerName="System.Data.SqlClient" 
     connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=SpeedOfLightRailDB;Integrated Security=True;MultipleActiveResultSets=True"/> 
</connectionStrings> 

Также проверьте .\SQLEXPRESS является доступный из SQL Server Management Studio, и если SQL Server настроен на разрешение удаленных подключений в SQL Server Configuration Manager.

enter image description here

Он может быть запущен с ЦМД, как это: C:\Windows\SysWOW64\mmc.exe /32 C:\Windows\SysWOW64\SQLServerManager12.msc

2
  1. Проверьте свои услуги окна и убедитесь, что SQL Server Express окна служба работает. Вы можете получить услуги, запустив services.msc из командной строки RUN (клавиша Windows + R). Если он не запущен, запустите его.
  2. У вас установлены инструменты управления сервером Sql? Если это так, вы можете попытаться подключиться с помощью этих инструментов. Если вы не можете подключиться к вашему экземпляру sql server express, скорее всего, вы также не сможете подключиться к коду. Если у вас этого нет, не беспокойтесь, вы можете проверить его на следующем шаге.
  3. Если вам нужна помощь в построении строки подключения, этот следующий вариант - отличный способ сделать это. Создайте текстовый файл на рабочем столе. Переименуйте расширение с .txt на .udl. Откройте файл, и вы получите экран Data Link Properties, начните с 1-й вкладки (по умолчанию она будет показана на вкладке 2), а затем заполните вторую. Как только вы проверите свое соединение здесь, и оно будет работать, вы можете открыть файл с помощью NotePad или переименовать расширение обратно на .txt и открыть его в NotePad. Строка подключения будет находиться во второй строке текстового файла. Просто скопируйте и вставьте его в свой файл .config.

Если ни одно из этих действий не работает, сообщите об этом с помощью того, что вы нашли, и каких-либо ошибок, которые вы получаете.

+0

В разделе «SQL Server (SQLEXPRESS)» и «Агент SQL Server» (SQLEXPRESS) ', но попытка запустить первое дает мне ошибку:« Windows не удалось запустить SQL Server (SQLEXPRESS) на локальном компьютере. info, просмотрите журнал системных событий .... » – RJB

+0

Насколько я могу судить, из' eventvwr.exe' ошибка, о которой идет речь, может быть: «Инициализация сертификата FallBack не удалась», но есть еще несколько ошибок SQLEXPRESS в журнал тоже – RJB

+0

@RJB - Я обнаружил, что [SQL Server не запущен - сбой инициализации FallBack не удалось) (https://social.msdn.microsoft.com/Forums/sqlserver/en-US/56f14665-3f00-41ff-b002-bb5e86b3f219/sql-server-not-start-fallback-certificate-initialization-failed? forum = sqlsecurity) на форуме MSDN. Вы видите, что этот ответ помогает решить, что служба не запускается? – Igor