Общие способы подключения к odbc из python на окнах?
Какую библиотеку я должен использовать для подключения к odbc из python в windows? Есть ли хорошая альтернатива pywin32, когда дело доходит до odbc?
Я ищу что-то хорошо документированное, надежное, активно поддерживается и т.д. pyodbc
выглядит хорошо - есть ли какие-либо другие?
Ответы
Ответ 1
Вы уже предложили pyodbc, и я соглашусь с вами.
Он дал мне наименьшее количество проблем в моем опыте; Я использовал pymssql и adodbapi, и когда те бросили исключения/создали проблемы, я поменял код и заменил его на pyodbc, и он либо устранил проблему, либо дал лучшие сообщения об ошибках, чтобы я мог быстрее отлаживать.
Стоит упомянуть, что я в основном использую его для подключения к серверам MSSQL Server.
Ответ 2
Я использую SQLAlchemy для доступа к базе данных python. Я настоятельно рекомендую SQLAlchemy.
SA использует pyodbc под капотом при подключении к базам данных SQL-сервера. Он использует другие библиотеки DBAPI для подключения к другой базе данных, например cx_Oracle.
В упрощенном примере, используя SQLAlchemy, как обычно, вы используете модуль DBAPI:
import sqlalchemy
engine = sqlalchemy.create_engine('sqlite:///database.db')
for r in engine.execute('SELECT * FROM T'):
print(r.OneColumn, r.OtherColumn)
Но реальное значение SQLAlchemy лежит в ORM и SQL язык выражений. Посмотрите, это стоит усилий, чтобы научиться использовать.
Ответ 3
Другой альтернативой является pypyodbc, который был написан на чистом Python. его можно рассматривать как повторную реализацию модуля pyobbc - всего около 1800 строк кода, что хорошо для обслуживания.
Здесь Hello World образец доступа к mssql в Python.
Ответ 4
Я использую pyodbc на работе, и он никогда не подводил меня (у нас есть varius dbs). Он прочный и быстрый.
Он активно поддерживается и скоро появится версия python 3.
Если вы хотите получить "корпоративное" программное обеспечение с оплаченной поддержкой, вы можете использовать mxODBC.
Ответ 5
Python 3 теперь поддерживается pyodbc!
Ответ 6
Вы можете дать turbodbc закрутку. Начиная с версии 1.1.1, она официально поддерживает Windows. Там есть хороший шанс, что он быстрее, чем pyodbc за то, что вы делаете.