Работа с базами данных на языке C#. Технология АDO .NET. Евсеева О.Н - 65 стр.

UptoLike

Составители: 

65
При возникновении исключительной ситуации при соединении с БД воз-
никает исключение типа SqlException. Информация о возникших ошибках со-
держится в свойстве Errors, представляющем собой коллекцию объектов типа
SqlError. Ошибка определяется целочисленным свойством Number, представ-
ляющим номер ошибки. Анализируя значение, можно определить причину воз-
никновения ошибки и действия, которые необходимо предпринять для ее уст-
ранения.
При работе с MS Access
При возникновении исключительной ситуации при соединении с БД MS
Access возникает исключение типа OleDbException. Собственно информация об
ошибках хранится в массиве Errors. У каждого элемента массива есть два свой-
ства:
1) Свойство Message возвращает причину ошибки. Язык сообщения опреде-
ляется языком MS Access, т. е. если установлена русская версия, то сооб-
щение будет на русском языке.
2) Свойство NativeError (внутренняя ошибка) возвращает номер исключения,
генерируемый самим источником данных.
Вместе или по отдельности со свойством SQL State их можно использо-
вать для создания кода, предоставляющего пользователю расширенную инфор-
мацию об ошибке и действиях, необходимых для ее устранения.
4.1.5. Работа с пулом соединений
Подключение к базе данных требует затрат времени, в частности, на ус-
тановление соединения по каналам связи, прохождение аутентификации, и
лишь после этого можно выполнять запросы и получать данные.
Клиентское приложение, взаимодействующее с базой данных и закры-
вающее каждый раз соединение при помощи метода Close, будет не слишком
производительным: значительная часть времени и ресурсов будет тратиться на
установку повторного соединения. Решением данного затруднения может быть
использование трехуровневой модели, при которой клиентское соединение бу-
дет взаимодействовать с базой данных через промежуточный сервер.
В этой модели клиентское приложение открывает соединение через про-
межуточный сервер (рис. 62, А). После завершения работы соединение закры-
вается приложением, но промежуточный сервер продолжает удерживать его в
течение заданного промежутка времени, например, 60 секунд. По истечении
этого времени промежуточный сервер закрывает соединение с базой данных
(рис. 62, Б). Если в течение этой минуты, например, после 35 секунд, клиент-
ское приложение снова требует связи с базой данных, то сервер просто предос-
тавляет уже готовое соединение, причем после завершения работы обнуляет
счет времени и готов снова минуту ждать обращения (рис. 62, В).