Если у меня есть строка подключения в файле web.config(добавленные строки для лучшей читаемости):
<add
name="conn"
connectionString="Data Source=(localdb)\v11.0; Initial
Catalog=MyDB; Integrated Security=True; MultipleActiveResultSets=True;
AttachDbFilename=D:\Products.mdf"
providerName="System.Data.SqlClient"/>
Соединение работает, и я могу подключиться к базе данных в проводнике базы данных.
Когда я укажу строку подключения в коде или использую ConfigurationManager для ее получения, она не работает:
SqlCommand command = new SqlCommand();
command.CommandText = "select ...";
command.CommandType = CommandType.Text;
SqlConnection cn = new SqlConnection("Data Source=(localdb)\\v11.0;"+
"Initial Catalog=MyDB; Integrated Security=True; "+
"MultipleActiveResultSets=True; AttachDbFilename=D:\\Products.mdf");
command.Connection = cn;
cn.Open();
DataTable dataTable = new DataTable();
SqlDataReader reader;
reader = command.ExecuteReader();
dataTable.Load(reader);
cn.Close();
Получение строки подключения из web.config дает ту же ошибку:
SqlConnection cn = new SqlConnection(ConfigurationManager.ConnectionStrings
["conn"].ConnectionString;
Ошибка, которую я получаю, это "System.ComponentModel.Win32Exception: сетевой путь не найден"
В трассе говорится:
Произошла ошибка, связанная с сетью или конкретным экземпляром, в то время как установление соединения с SQL Server. Сервер не найден или был недоступен. Проверьте правильность имени экземпляра и SQL Server настроен для удаленного подключения. (поставщик: Именованный Pipes Provider, ошибка: 40 - Не удалось открыть соединение с SQL Сервер)]
Мне нужна помощь в решении этого вопроса, пытались решить это в течение нескольких часов, и любое предложение на линии заключается в том, что я должен проверять сетевые настройки (не применяется при подключении к локальному экземпляру SQL Express Express). Имя сервера (такая же строка работает в VS Express, но не в запущенном коде).
Может ли это проблема аутентификации? И если да, то почему не информативная ошибка?
Спасибо, что прочитали мой пост и надеюсь, что вы можете мне помочь.
Update:
Я пробовал следующие вещи:
Учитывая, что группа получает полное разрешение на файлы mdf и ldf
В свойствах проекта в Интернете я попытался запустить проект под сервером разработки VS и локальным веб-сервером IIS (это IIS Express)
Не повезло, до сих пор не удается подключиться, где он прекрасно соединяется при копировании кода в проект, созданный с помощью "пустого веб-приложения ASP.NET"