Pregunta

¿Qué biblioteca debería utilizar para conectar con ODBC desde Python en Windows? ¿Hay una buena alternativa para pywin32 cuando se trata de ODBC?

Estoy buscando algo bien documentados, robustos mantenido activamente, etc. pyodbc apariencia, bueno - ¿hay otros?

¿Fue útil?

Solución

Ya has sugerido pyodbc , y voy a estar de acuerdo con usted.

Me ha dado la menor cantidad de problemas en mi experiencia; He usado pymssql y adodbapi , y cuando ellos se lanzaron excepciones / temas creados, que intercambia el código y lo reemplazó con pyodbc y que sea solucionado el problema, o dio mejores mensajes de error, así que podría depurar más rápido.

Vale la pena mencionar que yo lo uso principalmente para conectar a Servidor MSSQL DB.

Otros consejos

SQLAlchemy para todos los accesos de base de datos pitón. Le recomiendo SQLAlchemy.

SA utiliza pyodbc bajo el capó cuando se conecta a las bases de datos de servidor SQL. Utiliza otras bibliotecas DBAPI para conectarse a otra base de datos, por ejemplo cx_Oracle.

Un simple ejemplo, usando SQLAlchemy como se suele utilizar un módulo DBAPI:

import sqlalchemy

engine = sqlalchemy.create_engine('sqlite:///database.db')
for r in engine.execute('SELECT * FROM T'):
    print(r.OneColumn, r.OtherColumn)

Sin embargo, el valor real de SQLAlchemy radica en su ORM y lenguaje de expresiones SQL . Echar un vistazo, es bien vale la pena el esfuerzo de aprender a utilizar.

Otra alternativa es pypyodbc que fue escrito en Python puro. que puede verse como un re-implemenation del módulo pyodbc -., con sólo alrededor de 1800 líneas de código, lo cual es bueno para el mantenimiento

Aquí hay un muestra Hello World de acceder a mssql en Python.

Yo uso pyodbc en el trabajo y nunca me ha fallado (tenemos DBS varius). Es robusto y rápido.

Se mantiene activa y una versión de Python 3 llegará pronto.

Si desea que el software "empresa" con el apoyo pagado puede utilizar mxODBC .

Puede dar turbodbc una vuelta. Desde la versión 1.1.1, soporta oficialmente de Windows. Hay una buena probabilidad de que es más rápido que pyodbc por lo que haces.

Python 3 es ahora compatible con pyodbc !

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top