Entity Framework 4 Подстилающий поставщик не удалось открыть - PullRequest
0 голосов
/ 05 апреля 2011

Я пытаюсь подключиться к базе данных, но получаю следующее исключение:

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)

Я много гуглил, но не смог найти ответ.

Вот моя конфигурация:

Я использую MS SQL Server 2008 Express. И Sql Server, и Sql Server Browser используют мою учетную запись (я администратор). Я также использовал локальную систему и локальный сервис. Без успеха.

Вот моя строка подключения в app.config:

<?xml version="1.0"?>
<configuration>
  <connectionStrings>
    <add name="EventManagerEntities" connectionString="metadata=res://*/Entities.RelationModel.csdl|res://*/Entities.RelationModel.ssdl|res://*/Entities.RelationModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=martijn-laptop\sql2008;Initial Catalog=EventManager;Integrated Security=True;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient"/>
  </connectionStrings>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration>

Я также пытался использовать имя пользователя и пароль сервера sql, но безуспешно.

Я использую winforms. Что еще можно попробовать?

Когда я проверяю netstat -an, я получаю это:

TCP    0.0.0.0:1433           0.0.0.0:0              LISTENING
TCP    [::]:1433              [::]:0                 LISTENING

Я не думаю, что это правильно, верно? Но как мне установить это правильно?

Ответы [ 3 ]

1 голос
/ 05 апреля 2011

Не удается найти экземпляр / сервер. Telnet 1433-й или настроенный порт martijn-laptop \ sql2008 для проверки его доступности

0 голосов
/ 05 апреля 2011

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

Проверяется ли так, что код, сгенерированный с помощью edmx, имеет правильное имя подключения к базе данных по умолчанию или что вы переопределяете его:

var context = new EventManagerContext("EventManagerEntities"); 

Или любой другой правильный синтаксис для EF.

0 голосов
/ 05 апреля 2011

Зайдите в диспетчер конфигурации SQL Server и убедитесь, что протоколы, которые вы хотите использовать, включены в разделе «Конфигурация сети SQL Server»> «Протоколы для Sql2008»

...