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?

Était-ce utile?

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 !

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top