2009-09-08 3 views
1

У меня есть два веб-сайта ASP.NET на веб-сервере и две базы данных SQL Server.Ошибка: 40 - Не удалось открыть соединение с SQL Server - только на промежуточном веб-сайте

У меня есть папка для сайта # 1, которая содержит файл web.config с строкой соединения, указывающей на базу данных №1.

Под папкой для Веб-сайта № 1 находится промежуточная папка под названием «промежуточная», содержащая сайт №2, а в web.config есть строка подключения, указывающая на базу данных №2.

Сайт # 1 работает отлично.

Но когда я пытаюсь запустить сайт 2, я всегдаполучить следующее сообщение об ошибке:

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: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)

Я проверить, что строка соединения является правильным, и что это указывает на базы данных # 2.

Но даже если я заменяю строку подключения с сайта №1, которая отлично работает на веб-сайте №1, она все равно не работает.

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

<connectionStrings> 
    <add name="WebsiteConnectionString" connectionString="Data Source=localhost;Initial Catalog=WebsiteStaging;User Instance = false;User Id=xxxx;Password=yyyy" providerName="System.Data.SqlClient" /> 
</connectionStrings> 

Есть ли что-нибудь необычное здесь происходит, что я не знаю?

ответ

0

Действительно извините ... похоже, что это не было связано с подключением.

Это связано с тем, что слой данных Linq-to-SQL (который был в другом проекте) ссылался на свою собственную строку соединения (хотя, где бы я не создавал DataContext в проекте Website, я всегда использовал web.config строка подключения в качестве параметра).

Но спасибо за ваши ответы, вероятно, это были бы хорошие вещи для проверки, если бы вышеупомянутая проблема не была.

+0

хорошо, хорошая новость: вы нашли проблему и ее решение –

0

Не знаете, какую версию IIS вы используете, но вам может потребоваться создать два отдельных веб-приложения: один указывает на папку №1 и другой сайт №2.

При просмотре свойств веб-сайта/виртуального каталога имя приложения должно быть установлено для обоих каталогов. Это так?

0

LOCALHOST для IIS

(LOCAL) для SQL Server

Мои строки соединения обычно говорят "Server=(LOCAL);Integrated Security=SSPI...."

Я хотел бы проверить вкладку безопасности, чтобы выяснить личность, что и веб-сайты работают под управлением.

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