Мені було дуже важко отримати відповідь, але врешті-решт зрозумів це. Тому я напишу кроки нижче.
Перш ніж налаштувати рядок підключення в коді, переконайтеся, що ви дійсно можете отримати доступ до бази даних. Почніть очевидно, увійшовши на сервер баз даних за допомогою SSMS (Sql Server Management Studio або це еквівалентно в інших базах даних) локально, щоб забезпечити доступ до вас із використанням усіх деталей, які ви збираєтеся використовувати.
Далі (якщо потрібно), якщо ви намагаєтеся отримати доступ до бази даних на окремому сервері, переконайтеся, що можете зробити те ж саме в SSMS. Тож налаштуйте SSMS на комп’ютері та переконайтесь, що ви можете отримати доступ до сервера за допомогою імені користувача та пароля до цього сервера баз даних.
Якщо ви не правильно зрозуміли вищезазначені 2, ви просто витрачаєте час, бо не можете отримати доступ до бази даних. Це може бути через те, що користувач, якого ви налаштували, помилковий, не ввімкнув віддалений доступ (якщо потрібно), або порти не відкриваються (якщо потрібно), серед багатьох інших причин, але вони є найбільш поширеними.
Переконавшись, що ви можете отримати доступ до бази даних за допомогою SSMS. Наступним кроком, лише задля автоматизації процесу та уникнення помилок, є дозвіл системі виконувати роботу за вас.
- Запустіть порожній проект, додайте свій вибір Linq до SQL або набору даних (EF - це добре, але рядок з'єднання вбудований всередину рядка EF-con, я хочу чистий) і підключіться до вашої бази даних, використовуючи деталі, перевірені вище в майстер підрядів. Додайте будь-яку таблицю та збережіть файл.
Тепер зайдіть у веб-конфігурацію, і чарівним чином ви побачите там приємний чистий робочий рядок підключення з усіма необхідними деталями.
{Нижче було частиною старого допису, так що ви можете проігнорувати це, я залишаю це для довідки як найпростіший спосіб отримати доступ до бази даних лише із коду позаду. Прокрутіть вниз і перейдіть до кроку 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>
{Вищезазначене було частиною старої публікації, після виконання 3-х найкращих кроків весь цей процес буде виконаний за вас, тож ви можете ігнорувати його. Я просто залишаю це тут для власної довідки. }
2. Тепер додайте наступний рядок коду до коду C # позаду, імовірно, просто під визначенням класу (тобто не всередині методу). Це вказує на кореневу папку вашого проекту. По суті, це назва проекту. Зазвичай це місце розташування файлу web.config (у цьому випадку мій проект називається MyProject.
static Configuration rootWebConfig = WebConfigurationManager.OpenWebConfiguration("/MyProject");
3. Тепер додайте наступний рядок коду до коду C # позаду. Це встановлює рядкову константу, до якої ви можете посилатися в багатьох місцях коду, якщо вам потрібна константа різними методами.
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 у оригінальному форматі, щоб знати, чи це проблема зі рядком підключення, чи проблема з кодом.
Я новачок у C #, ASP.Net та Sql Server. Тож я впевнений, що повинен бути кращий спосіб зробити цей код. Я також вдячний відгуку про те, як покращити ці кроки, якщо це можливо. Я весь час шукав щось подібне, але врешті-решт зрозумів це після багатьох тижнів напруженої роботи. Дивлячись на це сам, я все ще думаю, повинен бути простіший спосіб.
Я сподіваюся, що це корисно.