Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ADO.NET.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
200.19 Кб
Скачать

Объект Connection

В ADO.NET объект Connection используется для подключения к определенному источнику данных путем предоставления в строке соединения сведений, необходимых для проверки подлинности. Используемый объект Connection зависит от типа источника данных. У каждого поставщика данных в платформе .NET Framework есть объект Connection.

поставщика данных .NET Framework

объект Connection

для SQL Server

SqlConnection

для OLE DB

OleDbConnection

для ODBC

OdbcConnection

для Oracle

OracleConnection

Открытие/закрытие соединения

Для создания соединения используется конструктор. В параметре конструктора указывается строка соединения. Также можно использовать конструктор без параметра, а строку подключения задавать как свойство после создания объекта. Но это необходимо делать до открытия соединения.

Для выполнения запросов и получения данных из БД необходимо открыть соединение. После выполнения необходимых операций рекомендуется всегда закрывать соединение после использования, чтобы обеспечить его возврат в пул.

Два варианта открытия соединения:

  • с использованием блока Using: автоматически удаляет соединение при выходе в коде из блока даже при наличии необработанного исключения.

  • без использования блока Using: необходимо явно использовать метод Close объекта соединения.

//Вариант №1

using (SqlConnection connection = new SqlConnection(connectionString))

{

connection.Open();

 ………….

}

 

//Вариант №2

SqlConnection connection = new SqlConnection(connectionString));

connection.Open();

 …………

connection.Close();

Синтаксис строки соединения

Свойство ConnectionString получает или задает строку, используемую для подключения к базе данных. Строка соединения включает имя источника базы данных и другие параметры необходимые для установки исходного подключения. Значением по умолчанию является пустая строка.

Также строка соединения содержит сведения об инициализации, передаваемые в виде параметра от поставщика данных в источник данных. Синтаксис зависит от поставщика данных, и при попытке открыть соединение строка соединения анализируется. После проверки источник данных применяет параметры, указанные в строке соединения, и открывает соединение.

Формат строки соединения является списком разделенных точкой с запятой пар параметров «ключ-значение»: keyword1=value; keyword2=value;

В приведенной ниже таблице представлены основные имена для значений ключевых слов в ConnectionString (для SQL Server).

Ключевое слово

Значение по умолчанию

Описание

AttachDBFilename

-или-

extended properties

-или-

Initial File Name

Отсутствует

Имя основного файла базы данных, включая полный путь к подключаемой базе данных. AttachDBFilename поддерживается только для первичных файлов данных с расширением MDF.

Путь может быть абсолютным или относительным, заданным с использованием строки подстановки DataDirectory.

Имена путей удаленного сервера, HTTP и UNC не поддерживаются.

Connect Timeout

-или-

Connection Timeout

15

Продолжительность времени ожидания подключения к серверу (в секундах) перед прекращением попытки подключения и генерацией ошибки.

Data Source

-или-

Server

-или-

Address

-или-

Addr

-или-

Network Address

Отсутствует

Имя или сетевой адрес экземпляра SQL Server, к которому осуществляется подключение.

Integrated Security

-или-

Trusted_Connection

false

Если задано значение false, в подключении заданы также параметры User ID и Password. Если задано значение true, для проверки подлинности используются текущие учетные данные Windows.

Распознаваемые значения: true, false, yes, no и sspi

Password

-или-

Pwd

Отсутствует

Пароль для входа в SQL-сервер. Не рекомендуется. Чтобы обеспечить наивысший уровень безопасности, настоятельно рекомендуется использовать вместо этого ключевое слово Integrated Security или Trusted_Connection.

Persist Security Info

false

Когда задано значение false или no (настоятельно рекомендуется), важные сведения (такие, как пароль) не возвращаются как часть подключения, если оно открыто или когда-либо находилось в открытом состоянии.

User ID

Отсутствует

Учетная запись входа в SQL Server. Не рекомендуется. Чтобы обеспечить наивысший уровень безопасности, настоятельно рекомендуется использовать вместо этого ключевое слово Integrated Security или Trusted_Connection.

Использование строки замены DataDirectory

Свойство AttachDbFileName было расширено в ADO.NET 2.0 с введением строки замены |DataDirectory| (заключаемой в символы конвейера). Строка замены DataDirectory в сочетании с именем AttachDbFileName позволяет указывать относительный путь к файлу данных, тем самым позволяя разработчикам создавать строки соединения на основе относительного пути к источнику данных, не задавая полный путь. Физическое расположение, на которое указывает DataDirectory, зависит от типа приложения.

Транзакции

Транзакция состоит из одной команды или группы команд, которые выполняются как одна единица работы. Если в какой-либо точке транзакции возникает ошибка, может быть выполнен откат всех обновлений и возвращение к состоянию до начала транзакции. Если ошибки не возникают, обновления заканчиваются фиксированием транзакции как завершенной.  

Выполнение транзакции

  1. Вызовите метод BeginTransaction объекта SqlConnection для отметки начала транзакции. Метод BeginTransaction возвращает ссылку на транзакцию. Эта ссылка назначается объектам SqlCommand, прикрепленным к транзакции.

  2. Присвойте объект Transaction свойству Transaction объекта SqlCommand.

  3. Выполните требуемые команды.

  4. Для выполнения транзакции вызовите метод Commit объекта SqlTransaction, для завершения транзакции вызовите метод Rollback. Транзакция откатывается, если соединение закрывается или пропадает до выполнения метода Commit либо Rollback.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]