Мне было очень трудно получить ответ, но в конце концов я понял это. Итак, я напишу шаги ниже.
Прежде чем настраивать строку подключения в коде, убедитесь, что у вас действительно есть доступ к базе данных. Начните, очевидно, с входа на сервер базы данных с помощью SSMS (Sql Server Management Studio или его эквивалента в других базах данных) локально, чтобы гарантировать, что у вас есть доступ, используя любые данные, которые вы собираетесь использовать.
Затем (при необходимости), если вы пытаетесь получить доступ к базе данных на отдельном сервере, убедитесь, что вы можете сделать то же самое в SSMS. Поэтому настройте SSMS на компьютере и убедитесь, что вы можете получить доступ к серверу с именем пользователя и паролем для этого сервера базы данных.
Если у вас нет двух вышеуказанных правил, вы просто зря теряете время, так как не можете получить доступ к базе данных. Это может быть связано с тем, что пользователь, которого вы настроили, неверен, не имеет удаленного доступа (при необходимости) или не открыты порты (при необходимости), среди многих других причин, но они являются наиболее распространенными.
После того, как вы убедились, что можете получить доступ к базе данных с помощью SSMS. Следующий шаг - просто ради автоматизации процесса и избежания ошибок - это позволить системе делать всю работу за вас.
- Запустите пустой проект, добавьте на свой выбор Linq в SQL или набор данных (EF хорош, но строка подключения встроена в строку con EF, мне нужна чистая) и подключитесь к своей базе данных, используя данные, проверенные выше в волшебник мошенничества. Добавьте любую таблицу и сохраните файл.
Теперь войдите в веб-конфигурацию, и волшебным образом вы увидите красивую чистую рабочую строку подключения со всеми необходимыми деталями.
{Ниже была часть старого сообщения, так что вы можете проигнорировать это, я оставляю его для справки, поскольку это самый простой способ доступа к базе данных, используя только код. Прокрутите вниз и продолжайте с шага 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 шагов ваш код должен работать так же, как и раньше. Обозначьте причину, по которой вы сначала тестируете конструирование в исходном формате, чтобы вы знали, проблема ли это в строке подключения или проблема в коде.
Я новичок в C #, ASP.Net и Sql Server. Так что я уверен, что должен быть лучший способ сделать этот код. Я также хотел бы получить отзывы о том, как улучшить эти шаги, если это возможно. Я искал что-то подобное повсюду, но в конце концов понял это после многих недель тяжелой работы. Глядя на это сам, я все же думаю, что должен быть более простой способ.
Надеюсь, это поможет.