[PyGr] Python + MS Access (*.mdb)

Panagiotis Mavrogiorgos pmav99 at gmail.com
Thu Jul 21 03:00:12 CEST 2011


Σας ευχαριστώ πολύ όλους σας.

Τελικά βρήκα άκρη με το pyodbc.

Εν ολίγοις πρέπει να ξέρεις το ακριβές όνομα του driver του ODBC, το οποίο
το βρίσκεις τρέχοντας το αρχείο odbcad32.exe το οποίο είναι το πρόγραμμα που
τρέχει μέσα από Control Panel/Administrative Tools/Data Sources (ODBC).

Μέσω του pyodbc το όνομα του driver είναι αποθηκευμένο μέσα σε ένα dict

import pyodbc

for item in pyodbc.dataSources().iteritems():
    print item

Στον υπολογιστή μου (windows 7) το όνομα του Driver είναι :
Microsoft Access Driver (*.mdb, *.accdb)

Σε παλαιότερες εκδόσεις των win πρέπει να είναι κάτι τέτοιο:
Microsoft Access Driver (*.mdb)

Ακολουθεί ένα Minimum Working Example ως reference αν το χρειαστεί κανείς

import pyodbc
import os
import os.path

def get_driver(key="MS Access Database"):
    drivers = pyodbc.dataSources()
    #for item in drivers.iteritems():
        #print item

    return drivers[key]

cwd = os.path.abspath(os.path.curdir)

DBdriver = get_driver()
DBfile = os.path.join(cwd, "test.mdb")
conn = pyodbc.connect('DRIVER={Microsoft Access Driver (*.mdb,
*.accdb)};DBQ='+DBfile)
cursor = conn.cursor()


SQL = 'SELECT * FROM Table1;'
for row in cursor.execute(SQL):
    print row

cursor.close()
conn.close()

@ Χρήστος Γεωργίου
Η λύση που προτείνεις με το DAO πετάει λάθη. Έχω 64bit Windows και 64bit
Python αν παίζει ρόλο. Σε ευχαριστώ πάντως όπως και αν έχει.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-greece/attachments/20110721/eddf4c75/attachment.html>


More information about the Python-greece mailing list