Я пытаюсь настроить соединительную строку в файле web.config(Visual Studio 2008/ASP.NET 3.5) на локальный сервер (SQL Server 2008).
В моем web.config, как и где я помещаю строку подключения?
Я пытаюсь настроить соединительную строку в файле web.config(Visual Studio 2008/ASP.NET 3.5) на локальный сервер (SQL Server 2008).
В моем web.config, как и где я помещаю строку подключения?
Вы также можете использовать это, это проще. Единственное, что вам нужно установить, это "Имя_данныхDataBase".
<connectionStrings>
<add name="ConnStringDb1" connectionString="Data Source=localhost;Initial Catalog=YourDataBaseName;Integrated Security=True;" providerName="System.Data.SqlClient" />
</connectionStrings>
По какой-то причине я не вижу здесь простого ответа.
Поместите это в начало своего кода:
using System.Web.Configuration;
Поместите это в Web.Config:
<connectionStrings >
<add
name="myConnectionString"
connectionString="Server=myServerAddress;Database=myDataBase;User ID=myUsername;Password=myPassword;Trusted_Connection=False;"
providerName="System.Data.SqlClient"/>
</connectionStrings>
и где вы хотите настроить переменную подключения:
SqlConnection con = new SqlConnection(
WebConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString);
Мне было очень трудно получить ответ, но в итоге разобрался. Поэтому я напишу следующие шаги.
Перед настройкой строки подключения в коде убедитесь, что вы действительно можете получить доступ к своей базе данных. Начните, конечно, путем входа в сервер базы данных, используя SSMS (Sql Server Management Studio или его эквивалент в других базах данных) локально, чтобы убедиться, что у вас есть доступ, используя любые детали, которые вы собираетесь использовать.
Далее (если необходимо), если вы пытаетесь получить доступ к базе данных на отдельном сервере, убедитесь, что вы тоже можете сделать это в SSMS. Поэтому настройте SSMS на компьютере и убедитесь, что вы можете получить доступ к серверу с именем пользователя и паролем к этому серверу базы данных.
Если вы не получите права выше 2, вы просто теряете время, когда не можете получить доступ к базе данных. Это может быть связано с тем, что пользователь, которого вы настроили неправильно, не имеет удаленного доступа (если необходимо), или порты не открыты (если необходимо), среди многих других причин, но они являются наиболее распространенными.
Как только вы подтвердили, что можете получить доступ к базе данных с помощью SSMS. Следующий шаг, только для автоматизации процесса и предотвращения ошибок, должен позволить системе выполнить эту работу для вас.
Теперь зайдите в веб-конфигурацию и, как ни странно, вы увидите красивую чистую рабочую строку подключения со всеми необходимыми деталями.
{Ниже была часть старого сообщения, поэтому вы можете игнорировать это, я оставляю его для ссылки в качестве своего основного способа доступа к базе данных только из кода. Прокрутите страницу вниз и перейдите к шагу 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. Теперь добавьте следующую строку кода в код С#, по крайней мере, под определением класса (т.е. Не внутри метода). Это указывает на корневую папку вашего проекта. По сути, это имя проекта. Обычно это местоположение файла web.config(в этом случае мой проект называется MyProject.
static Configuration rootWebConfig = WebConfigurationManager.OpenWebConfiguration("/MyProject");
3. Теперь добавьте следующую строку кода в код С#. Это устанавливает строковую константу, к которой вы можете обращаться во многих местах по всему вашему коду, если вам понадобится conString в разных методах.
const string CONSTRINGNAME = "conString";
4. Затем добавьте следующую строку кода в код С#. Это получает строку соединения из файла web.config с именем conString (из константы выше)
ConnectionStringSettings conString = rootWebConfig.ConnectionStrings.ConnectionStrings[CONSTRINGNAME];
5. Наконец, где вы, по сути, имели бы что-то похожее на эту строку кода:
SqlConnection con = new SqlConnection(conString)
вы замените его на эту строку кода:
SqlConnection con = new SqlConnection(conString.ConnectionString)
После выполнения этих 5 шагов ваш код должен работать так, как раньше. Hense причина, по которой вы сначала проверяете constring в ее исходном формате, чтобы вы знали, что это проблема с строкой соединения или если это проблема с кодом.
Я новичок в С#, ASP.Net и Sql Server. Поэтому я уверен, что должен быть лучший способ сделать этот код. Я также буду получать отзывы о том, как улучшить эти шаги, если это возможно. Я просмотрел все это, но в конце концов понял это после многих недель напряженной работы. Рассматривая это сам, я все еще думаю, должен быть более простой способ.
Я надеюсь, что это будет полезно.
он должен находиться в пределах <configuration>
node:
<connectionStrings >
<add name="myconnectionstring" connectionString="Server=myServerAddress;Database=myDataBase;User ID=myUsername;Password=myPassword;Trusted_Connection=False;" providerName="System.Data.SqlClient"/>
</connectionStrings>
этот сайт содержит дополнительную информацию:
в заголовке
using System.Configuration;
в коде
SqlConnection conn = new SqlConnection(*ConfigurationManager.ConnectionStrings["connstrname"].ConnectionString*);
<connectionStrings>
<add name="ConnectionString" connectionString="Data Source=192.168.1.25;Initial Catalog=Login;Persist Security Info=True;User ID=sa;Password=example.com" providerName="System.Data.SqlClient" />
</connectionStrings>
public static string ConnectionString{
get{
return ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;}
set{}
Если вы хотите написать строку подключения в Web.config, тогда напишите в соответствии с заданным sting
<connectionStrings>
<add name="Conn" connectionString="Data Source=192.168.1.25;Initial Catalog=Login;Persist Security Info=True;User ID=sa;Password=example.com"
providerName="System.Data.SqlClient" />
</connectionStrings>
ИЛИ
вы прямо в файле aspx.cs, например
SqlConnection conn = new SqlConnection("Data Source=12.16.1.25;Initial Catalog=Login;Persist Security Info=True;User ID=sa;Password=example.com");
Вы можете поместить это в свой web.config
файл connectionStrings
:
<add name="myConnectionString" connectionString="Server=myServerAddress;Database=myDataBase;User ID=myUsername;Password=myPassword;Trusted_Connection=False;" providerName="System.Data.SqlClient"/>
Я ТОЛЬКО НАЙТИ!! Вам нужно установить это строковое соединение и указать прямо в вашу базу данных. Тот же случай на сервере.
"Provider=Microsoft.ACE.OLEDB.12.0;
Data Source=c:/inetpub/wwwroot/TEST/data/data.mdb;"
Это работает!!:)
Вы можете использовать следующий формат:
<connectionStrings>
<add name="ConStringBDName" connectionString="Data Source=serverpath;Initial Catalog=YourDataBaseName;Integrated Security=SSPI;" providerName="System.Data.SqlClient" />
</connectionStrings>
Скорее всего, вы нажмете метку connectionstring в web.config после <appSettings>
Попробуйте это.
Сохранить строку подключения в web.config
Хорошей практикой является сохранение строки подключения для вашего приложения в файле конфигурации, а не как жестко закодированная строка в коде. Способ сделать это отличается от .NET 2.0 и .NET 3.5 (и выше). Эта статья охватывает оба. https://www.connectionstrings.com/store-connection-string-in-webconfig/
Создайте раздел <connectionStrings></connectionStrings>
в web.config
и добавьте к нему разные строки подключения, например
<connectionStrings>
<add name="ConnectionStringName" providerName="System.Data.SqlClient" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=DatabaseName;Integrated Security=True;MultipleActiveResultSets=True"/>
</connectionStrings>
Здесь список всех различных форматов строки подключения https://msdn.microsoft.com/en-us/library/jj653752(v=vs.110).aspx
Попробуйте это для вашей строки подключения.
Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI;
User ID=myDomain\myUsername;Password=myPassword;
Вы можете попробовать это. Это очень просто
<connectionStrings>
<add name="conString" connectionString="Data Source=SQLServerAddress;Initial Catalog=YourDatabaseName; User Id=SQLServerLoginId; Password=SQLServerPassword"/>
</connectionStrings>