Интерфейс модуля

Здесь необходимо сказать о том, что должен предоставлять модуль для удовлетворения требований DB-API 2.0.

Доступ к базе данных осуществляется с помощью объекта–соединения (connection object). DB-API–совместимый модуль должен предоставлять функцию–конструктор connect() для класса объектов–соединений. Конструктор должен иметь следующие именованные параметры:

• dsn Название источника данных в виде строки

• user Имя пользователя

• password Пароль

• host Адрес хоста, на котором работает СУБД

• database Имя базы данных.

Методы объекта–соединения будут рассмотрены чуть позже.

Модуль определяет константы, содержащие его основные характеристики:

• apilevel Версия DB-API («1.0» или «2.0»).

• threadsafety Целочисленная константа, описывающая возможности модуля при использовании потоков управления:

 • 0 Модуль не поддерживает потоки.

 • 1 Потоки могут совместно использовать модуль, но не соединения.

 • 2 Потоки могут совместно использовать модуль и соединения.

 • 3 Потоки могут совместно использовать модуль, соединения и курсоры. (Под совместным использованием здесь понимается возможность использования упомянутых ресурсов без применения семафоров).

• paramstyle Тип используемых пометок при подстановке параметров. Возможны следующие значения этой константы:

 • «format» Форматирование в стиле языка ANSI C (например, "%s", "%i").

 • «pyformat» Использование именованных спецификаторов формата в стиле Python ("%(item)s»)

 • «qmark» Использование знаков "?" для пометки мест подстановки параметров.

 • «numeric» Использование номеров позиций (":1").

 • «named» Использование имен подставляемых параметров (":name").

Модуль должен определять ряд исключений для обозначения типичных исключительных ситуаций: Warning (предупреждение), Error (ошибка), InterfaceError (ошибка интерфейса), DatabaseError (ошибка, относящаяся к базе данных). А также подклассы этого последнего исключения: DataError (ошибка обработки данных), OperationalError (ошибка в работе или сбой соединения с базой данных), IntegrityError (ошибка целостности базы данных), InternalError (внутренняя ошибка базы данных), ProgrammingError (программная ошибка, например, ошибка в синтаксисе SQL–запроса), NotSupportedError (при отсутствии поддержки запрошенного свойства).

Больше книг — больше знаний!

Заберите 30% скидку новым пользователям на все книги Литрес с нашим промокодом

ПОЛУЧИТЬ СКИДКУ