Python универсальный интерфейс базы данных? - PullRequest
1 голос
/ 03 декабря 2009

Существует или планируется создать универсальный интерфейс базы данных для Python, такой как Perl DBI? Я знаю о DB-API Python, но все отдельные пакеты вызывают у меня некоторое раздражение.

Ответы [ 2 ]

3 голосов
/ 03 декабря 2009

AFAIK Нет ни одного модуля Python, который реализует DB-API для нескольких баз данных, и это в значительной степени задумано: зачем вводить ненужные функции и, возможно, требовать установки базовых библиотек баз данных, если вы не собираетесь их использовать? С этим дизайнерским решением можно поспорить, но так оно и есть. С другой стороны, DB-API пытается гарантировать, что API, представленный отдельными адаптерами DB, одинаков (или очень близок к одному и тому же). И еще есть модули ORM, такие как SQLAlchemy , которые обеспечивают уровень абстракции более высокого уровня. Однако им все еще требуются модули низкоуровневого DB-API.

Обратите внимание, что начиная с версии 2.5 стандартная библиотека Python включает в себя SQLite3 DB-API , т. Е. Батареи в комплекте.

2 голосов
/ 03 декабря 2009

Ну ... DBAPI - это этот фронтенд:

Этот API был определен для поощрения сходства между Модули Python, которые используются для доступа к базам данных. Делая это, мы надеемся достичь согласованности, ведущей к более легкому пониманию модули, код, который обычно более переносим между базами данных, и более широкий охват подключения к базе данных из Python.

Это всегда прекрасно работало для меня, по крайней мере, забота о разработке проблем, с которыми вы столкнулись?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...