2009-04-20 3 views

Répondre

1

La seule « documentation » que j'ai trouvé était un test unitaire qui a été installé avec le package pywin32. Il semble donner un aperçu de la fonctionnalité générale. Je l'ai trouvé ici:

python dir \ Lib \ site-packages \ win32 \ test \ test_odbc.py

Je tiens également à souligner que je crois qu'il est implémente l'API de base de données Python Spécification v1.0, qui est documenté ici:

http://www.python.org/dev/peps/pep-0248/

Notez qu'il ya aussi V2.0 de cette spécification (voir PEP-2049)

Sur une note côté, j'ai essayé d'utiliser pywin32 odbc, mais J'ai eu des problèmes avec l'écrasement intermittent w Avec le pilote ODBC que j'utilise. J'ai récemment déménagé à pyodbc et mes problèmes ont été résolus.

+0

cela aide beaucoup, merci! – user89021

3

Alternatives:

  • mxODBC par egenix.com (si vous avez besoin ODBC)
  • pyODBC
  • sqlalchemy et DB-API 2.0 modules (ce qui est ODBC), mais il est peut-être meilleure alternative
2

La réponse est: «il n'y en a pas». Cependant, voici un exemple qui montre comment ouvrir une connexion et émettre une requête, et comment obtenir des métadonnées de colonne à partir du jeu de résultats. La spécification API DB 2.0 se trouve dans PEP 249.

import dbi, odbc 

SQL2005_CS=TEMPLATE="""\ 
Driver={SQL Native Client}; 
Server=%(sql_server)s; 
Database=%(sql_db)s; 
Trusted_Connection=yes; 
""" 

CONN_PARAMS = {'sql_server': 'foo', 
       'sql_db': 'bar'} 

query = "select foo from bar" 

db = odbc.odbc(SQL2005_CS_TEMPLATE % CONN_PARAMS) 
c = db.cursor() 
c.execute (query) 
rs = c.fetchall() # see also fetchone() and fetchmany() 
# looping over the results 
for r in rs: 
    print r 

#print the name of column 0 of the result set 
print c.description[0][0] 

#print the type, length, precision etc of column 1. 
print c.description[1][1:5] 

db.close() 
+0

"" "La spécification DB API 2.0 peut être trouvée dans PEP 249." "" n'est pas pertinent - pywin32 ne supporte que v 1.0 –