Мне было очень трудно получить ответ, но в конце концов я понял это.Поэтому я напишу следующие шаги:
Перед настройкой строки подключения в коде убедитесь, что вы действительно можете получить доступ к своей базе данных.Начните, очевидно, с локального входа на сервер базы данных с использованием SSMS (Sql Server Management Studio или его эквивалента в других базах данных), чтобы обеспечить доступ с использованием любых данных, которые вы намереваетесь использовать.
Далее (если необходимо), если вы пытаетесь получить доступ к базе данных на отдельном сервере, убедитесь, что вы можете сделать то же самое в SSMS.Так что настройте SSMS на компьютере и убедитесь, что вы можете получить доступ к серверу с именем пользователя и паролем к этому серверу базы данных.
Если вы не понимаете вышеприведенные 2 правильно, вы просто тратите впустуюваше время, когда вы не можете получить доступ к базе данных.Это может быть вызвано тем, что пользователь, которого вы настроили неправильно, не имеет удаленного доступа (если необходимо) или порты не открыты (если необходимо), среди многих других причин, но они являются наиболее распространенными.
После того, как вы убедились, что можете получить доступ к базе данных с помощью SSMS.Следующий шаг, просто для того, чтобы автоматизировать процесс и избежать ошибок, - позволить системе сделать всю работу за вас.
Запустите пустой проект, добавьте свой выбор Linq в SQL или набор данных (EF - это хорошо, но строка подключения встроена в строку con EF, я хочу чистый), и подключитесь к вашей базе данных, используя деталипроверено выше в мошеннической строке Wizzard.Добавьте любую таблицу и сохраните файл.
Теперь зайдите в веб-конфигурацию, и волшебным образом вы увидите там красивую чистую рабочую строку подключения со всеми необходимыми деталями.
{Ниже была часть старого сообщения, так что вы можете проигнорировать это, я оставляю его для справки, так как это самый простой способ доступа к базе данных только из кода.Пожалуйста, прокрутите вниз и продолжите с шага 2 ниже.}
Предположим, что описанные выше шаги начнут вас с чего-то вроде следующего в качестве строки подключения в коде:
string conString = "Data Source=localhost;Initial Catalog=YourDataBaseName;Integrated Security=True;";
Этот шаг очень важен.Прежде чем предпринимать следующие шаги, убедитесь, что у вас работает указанный выше формат строки подключения.Убедитесь, что вы действительно можете получить доступ к своим данным, используя некоторую форму командного текста sql, которая отображает некоторые данные из таблицы в виде меток или текстовых боз, или чего-либо еще, поскольку это самый простой способ сделать строку подключения.
После того, как выВы уверены, что вышеприведенный стиль работает, теперь настало время сделать следующие шаги:
1.Экспортируйте строковый литерал (материал в кавычках, , включая кавычки) в следующий раздел файла web.config (для нескольких строк подключения достаточно сделать несколько строк:
<configuration>
<connectionStrings>
<add name="conString" connectionString="Data Source=localhost;Initial Catalog=YourDataBaseName;Integrated Security=True;" providerName="System.Data.SqlClient" />
<add name="conString2" connectionString="Data Source=localhost;Initial Catalog=YourDataBaseName;Integrated Security=True;" providerName="System.Data.SqlClient" />
<add name="conString3" connectionString="Data Source=localhost;Initial Catalog=YourDataBaseName;Integrated Security=True;" providerName="System.Data.SqlClient" />
</connectionStrings>
</configuration>
{Выше было частью старого сообщения, после выполнения трех верхних шагов весь этот процесс будет сделан для вас, так что вы можете проигнорировать его. Я просто оставляю это здесь для моей справки.}
2. Теперь добавьте следующую строку кода в код C # позади, предпочтительно под определением класса (т.е. не внутри метода). Это указывает на корневую папку вашего проекта. По сути, это имя проекта.обычно расположение файла web.config (в этом случае мой проект называется MyProject.
static Configuration rootWebConfig = WebConfigurationManager.OpenWebConfiguration("/MyProject");
3. Теперь добавьте следующую строку кода в код C # позади. Это устанавливает строковую константу дляна который вы можете ссылаться во многих местах вашего кода, если вам понадобится conString различными методами.
const string CONSTRINGNAME = "conString";
4. Затем добавьте следующую строку кода вC # код позади.Это получает строку подключения из файла web.config с именем conString (из константы выше)
ConnectionStringSettings conString = rootWebConfig.ConnectionStrings.ConnectionStrings[CONSTRINGNAME];
5.Наконец, если у вас изначально было что-то похожее на эту строку кода:
SqlConnection con = new SqlConnection(conString)
, вы замените это на следующую строку кода:
SqlConnection con = new SqlConnection(conString.ConnectionString)
После выполнения этих 5 шагов ваш код должен работать так же, как и раньше.Выясните причину, по которой вы сначала тестируете constring в его оригинальном формате, чтобы вы знали, если это проблема со строкой подключения или если это проблема с кодом.Sql Server.Поэтому я уверен, что должен быть лучший способ сделать этот код.Я также хотел бы получить отзывы о том, как улучшить эти шаги, если это возможно.Я искал что-то подобное, но в конце концов понял это после многих недель тяжелой работы.Глядя на это сам, я все еще думаю, что должен быть более легкий путь.
Я надеюсь, что это полезно.