Не удается подключиться к серверу SQL на веб-странице LINQ to SQL - PullRequest
2 голосов
/ 19 ноября 2010

На моем prod-сервере у меня есть 2 экземпляра SQL-сервера, SQL Server 2000 является экземпляром по умолчанию, и у меня есть \ SQLEXPRESS2008 в качестве дополнительного именованного экземпляра.В моем веб-проекте мне нужно подключиться к экземпляру SQL 2000 по умолчанию.

Я использую LINQ to SQL в Visual Studio 2008.

В обозревателе серверов в Visual Studio яможет создать соединение с БД, просмотреть все таблицы, правильно сгенерировать классы LINQ to SQL и т. д.

В Management Studio я могу подключиться к БД, просмотреть все, отредактировать и т. д.1008 * Однако, когда я пытаюсь запустить код своего веб-проекта, я получаю:

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

Моя строка подключения в веб-проекте выглядит следующим образом:

<add name="myConnectionString" connectionString="Data Source=myServer.com;Initial Catalog=myDB;Persist Security Info=True;User ID=sa;Password=XXXXX" providerName="System.Data.SqlClient" />

(IЯ тестирую с учетной записью sa из отчаяния).

У меня есть другие веб-проекты, работающие нормально и использующие БД, но это единственный, использующий классы LINQ to SQL (если это имеет значение)

Помощь оценена

Джонатан

Ответы [ 2 ]

1 голос
/ 19 ноября 2010

Это может быть то же самое, что произошло со мной, и это одна из самых раздражающих вещей в LINQ to SQL.Каждый раз, когда вы вносите изменения в ваш dbml, он возвращается к соединению, используемому обозревателем серверов в VS.Необходимо щелкнуть правой кнопкой мыши область конструктора, а затем вручную изменить соединение на «myConnectionString», перекомпилировать и запустить.

1 голос
/ 19 ноября 2010

Если веб-сервер такой же, как сервер SQL, просто используйте . в качестве имени сервера;Гораздо проще.

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

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