façons communes de se connecter à Odbc de python sur les fenêtres? [fermé]
Question
Quelle bibliothèque dois-je utiliser pour se connecter Odbc de python sur les fenêtres? Y at-il une bonne alternative pour pywin32 quand il vient à Odbc?
Je cherche quelque chose de bien documenté, robustes, activement entretenus, etc. pyodbc
regards bon - y at-il d'autres?
La solution
Vous avez déjà suggéré pyodbc , et je vais être d'accord avec vous.
Il m'a donné le moins de problèmes dans mon expérience; Je l'ai utilisé pymssql et adodbapi , et quand il les exceptions / questions jeté créées, je troqué le code et remplacé par pyodbc et soit résolu le problème, ou a donné de meilleurs messages d'erreur pour que je puisse déboguer plus rapidement.
Il convient de mentionner que je l'utilise principalement pour se connecter à MSSQL Serveur BDs.
Autres conseils
Je l'utilise pour tous les accès à la base de python SQLAlchemy . Je recommande fortement SQLAlchemy.
SA utilise pyodbc sous le capot lors de la connexion aux bases de données de serveur SQL. Il utilise d'autres bibliothèques DBAPI pour se connecter à d'autres bases de données, par exemple cx_Oracle.
Un exemple simpliste, en utilisant SQLAlchemy comme vous le feriez normalement utiliser un module DBAPI:
import sqlalchemy
engine = sqlalchemy.create_engine('sqlite:///database.db')
for r in engine.execute('SELECT * FROM T'):
print(r.OneColumn, r.OtherColumn)
Mais la valeur réelle de SQLAlchemy réside dans son ORM et langue d'expression SQL . Jetez un coup d'oeil, il vaut bien l'effort d'apprendre à utiliser.
Une autre alternative est pypyodbc qui a été écrit en Python pur. On peut voir comme une nouvelle implemenation du module pyodbc -. avec seulement environ 1800 lignes code, ce qui est bon pour l'entretien
Voici un Bonjour échantillon mondial d'accéder à MSSQL Python .
J'utilise pyodbc au travail et il ne m'a jamais manqué (nous avons Varius dbs). Il est robuste et rapide.
Il est activement maintenu et une version python 3 viendra bientôt.
Si vous voulez « entreprise » logiciel avec le soutien Payed vous pouvez utiliser mxODBC .
Vous pouvez donner turbodbc un spin. Depuis la version 1.1.1, il prend en charge officiellement de Windows. Il y a une bonne chance qu'il est plus rapide que pyodbc pour ce que vous faites.
Python 3 est maintenant pris en charge par pyodbc !