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

Christos Georgiou Christos.Georgiou at sil-tec.gr
Wed Jul 20 16:17:37 CEST 2011


On 2011-07-20 14:53, Panagiotis Mavrogiorgos wrote:
> Καλησπέρα
>
> Ξέρει κανείς πως μπορούμε να ανοίξουμε μια db της ΜS Access της μορφής
> *.mdb (έκδοση 4 της JET)
>
> Με ενδιαφέρει να τρέχει σε windows και αν είναι δυνατόν να μην έχει
> πολλά dependencies. Το ιδανικό θα ήταν να είναι αμιγώς python λύση γιατί
> θα ήθελα τελικά να έχω ένα exe αρχείο μέσω του py2exe. Το script-άκι δε
> θα χρησιμοποιηθεί από εμένα.

Θα έχεις εγκαταστήσει το pywin32 κανονικότατα.

import win32com.client as comclt

dbe= comclt.gencache.EnsureDispatch('DAO.DBEngine.36')
# EnsureDispatch για να φτιαχτεί σίγουρα το module
# (ένα εσωτερικό που φτιάχνει και σώζει)
# Αυτός ο περιορισμός δεν ξέρω πόσο καλά παίζει με py2exe

# το dbe τώρα είναι proxy για το DBEngine

# αν έχεις μια secure βάση, θα πρέπει να φτιάξεις και
# workspace (ws) με το κατάλληλο .mdw, username & password
# και να ανοίξεις τη βάση μέσω του ws

# αν όμως θέλεις τον default admin user, ανοίγεις απλώς
# από το dbe

db= dbe.OpenDatabase("blabla.mdb")

for td in db.TableDefs:
     print td.Name

# τα objects είναι τα ίδια όπως μέσα στην Access VBA
# db.OpenRecordset db.QueryDefs κλπ


More information about the Python-greece mailing list