Язык программирования Python

       

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


Здесь необходимо сказать о том, что должен предоставлять модуль для удовлетворения требований 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 (при отсутствии поддержки запрошенного свойства).



Содержание раздела