У меня есть очень простое веб-приложение ASP.NET, которое подключается к базе данных SQL Server (я использую SQL Server 2008 Express). Проблема, с которой я сталкиваюсь, очень странная: если я установил строку подключения для объекта SqlConnection
непосредственно в коде, приложение работает нормально, но если я переведу мою строку подключения в файл web.config
, приложение завершится с ошибкой.Строка подключения в web.config не работает
я покажу вам как переменную и соединительную секцию в web.config
, чтобы увидеть, если вы обнаружили какие-либо ошибки:
В переменной:
// works fine
string cs = "data source=.; database=myDataBase; integrated security=SSPI";
SqlConnection conn = new SqlConnection(cs);
Сейчас в web.config
:
<configuration>
<connectionStrings>
<add name="myCS"
connectionString="data source=.; database=myDataBase; integrated security=SSPI"
providerName="System.Data.SqlClient" />
</connectionStrings>
...
// Now, if I do this in C#, it does not work:
string cs = ConfigurationManager.ConnectionStrings["myCS"].ConnectionString;
SqlConnection conn = new SqlConnection(cs);
Это говорит мне, что уже есть база данных с этим именем. Теперь, я читал вещи повсюду. Кто-то сказал, что вместо использования «базы данных» в connectionString я мог бы использовать «начальный каталог», и все было бы хорошо. Ну, это было не хорошо ... У меня такая же проблема ... Кто-нибудь знает, что я делаю неправильно? Почему работает в одном месте, а не в другом? Если строка подключения была неправильной, она не удалась в обоих местах, и она только сбой в файле webConfig ... Большое спасибо ...
опубликуйте свой полный web.config – Saravanan
Привет, какая ошибка вы получаете, когда пытаетесь запустить приложение со строкой соединения в web.config? –
Пожалуйста, опубликуйте исключение. – Win