Строка подключения
Последнее обновление: 31.10.2015
После определения источника данных мы можем к нему подключаться. Для этого создадим проект простого консольного приложения.
Первым делом нам надо определить строку подключения, предоставляющая информацию о базе данных и сервере, к которым предстоит установить подключение:
class Program { static void Main(string args) { string connectionString = @»Data Source=.\SQLEXPRESS;Initial Catalog=usersdb;Integrated Security=True»; } }
При использовании различных систем управления базами данных, различных провайдеров данных .NET строка подключения может отличаться. Даже для подключения одной и той же базы данных строка подключения может меняться в зависимости от обстоятельств.
Строка подключения представляет набор параметров в виде пар ключ=значение. В данном случае для подключения к ранее созданной базе данных usersdb мы определяем строку подключения из трех параметров:
-
Data Source: указывает на название сервера. По умолчанию это «.\SQLEXPRESS». Поскольку в строке используется слеш, то в начале строки ставится символ @. Если имя сервера базы данных отличается, то соответственно его и надо использовать.
-
Initial Catalog: указывает на название базы данных на сервере
-
Integrated Security: устанавливает проверку подлинности
Жесткое кодирование строки подключения (то есть ее определение в коде приложения), как правило, редко используется. Гораздо более гибкий путь представляет определение ее в специальных конфигурационных файлах приложения. В проектах десктопных приложений это файл App.config, а в веб-приложениях это в основном файл Web.config. Хотя приложение также может использовать другие способы определения конфигурации.
В нашем случае, так как мы создали проект консольного приложения, то у нас в проекте должен быть файл App.config, который на данный момент имеет следующее определение:
<?xml version=»1.0″ encoding=»utf-8″ ?> <configuration> <startup> <supportedRuntime version=»v4.0″ sku=».NETFramework,Version=v4.6″ /> </startup> </configuration>
Изменим его, добавив определение строки подключения:
<?xml version=»1.0″ encoding=»utf-8″ ?> <configuration> <startup> <supportedRuntime version=»v4.0″ sku=».NETFramework,Version=v4.6″ /> </startup> <connectionStrings> <add name=»DefaultConnection» connectionString=»Data Source=.\SQLEXPRESS;Initial Catalog=usersdb;Integrated Security=True» providerName=»System.Data.SqlClient»/> </connectionStrings> </configuration>
Для определения всех подключений в программе в пределах узла <configuration> добавляется новый узел <connectionStrings>. В этом узле определяются строки подключения с помощью элемента <add>. Мы можем использовать в приложении множество строк подключения, и соответственно также в файле можно определить множество элементов <add>.
Каждая строка подключения имеет название, определяемое с помощью атрибута name. В данном случае строка подключения называется «DefaultConnection». Название может быть произвольное.
Атрибут connectionString собственно хранит строку подключения, то есть весь тот текст, который мы выше определяли в методе Main. И третий атрибут providerName задает пространство имен провайдера данных. Так как мы будем подключаться к базе данных MS SQL Server, то соответственно мы будем использовать провайдер для SQL Server, функциональность которого заключена в пространстве имен System.Data.SqlClient.
Теперь получим эту строку подключения в приложении:
using System; using System.Configuration; namespace AdoNetConsoleApp { class Program { static void Main(string args) { //string connectionString = @»Data Source=.\SQLEXPRESS;Initial Catalog=usersdb;Integrated Security=True»; // получаем строку подключения string connectionString = ConfigurationManager.ConnectionStrings.ConnectionString; Console.WriteLine(connectionString); Console.Read(); } } }
Прежде всего чтобы работать с конфигурацией приложения, нам надо добавить в проект библиотеку System.Configuration.dll.
С помощью объекта ConfigurationManager.ConnectionStrings мы можем получить строку подключения и использовать ее в приложении.
Параметры строки подключения
-
Application Name: название приложения. Может принимать в качестве значения любую строку. Значение по умолчанию: «.Net SqlClient Data Provide»
-
AttachDBFileName: хранит полный путь к прикрепляемой базе данных
-
Connect Timeout: временной период в секундах, через который ожидается установка подключения. Принимает одно из значений из интервала 0–32767. По умолчанию равно 15.
В качестве альтернативного названия параметра может использоваться Connection Timeout
-
Data Source: название экземпляра SQL Servera, с которым будет идти взаимодействие. Это может быть название локального сервера, например, «EUGENEPC/SQLEXPRESS», либо сетевой адрес.
В качестве альтернативного названия параметра можно использовать Server, Address, Addr и NetworkAddress
-
Encrypt: устанавливает шифрование SSL при подключении. Может принимать значения true, false, yes и no. По умолчанию значение false
-
Initial Catalog: хранит имя базы данных
В качестве альтернативного названия параметра можно использовать Database
-
Integrated Security: задает режим аутентификации. Может принимать значения true, false, yes, no и sspi. По умолчанию значение false
В качестве альтернативного названия параметра может использоваться Trusted_Connection
-
Packet Size: размер сетевого пакета в байтах. Может принимать значение, которое кратно 512. По умолчанию равно 8192
-
Persist Security Info: указывает, должна ли конфиденциальная информация передаваться обратно при подключении. Может принимать значения true, false, yes и no. По умолчанию значение false
-
Workstation ID: указывает на рабочую станцию — имя локального компьютера, на котором запущен SQL Server
-
Password: пароль пользователя
-
User ID: логин пользователя
Например,если для подключения необходим логин и пароль, то мы можем их передать в строку подключения через параметры user id и password: