2010-12-16 5 views
0

Ich bin auf einem Windows-Server 2003 und einen Zugriff auf eine lokal gespeicherte MS Access 2000 MDB von Python 2.5.4 Skripte mit Pyodbc 2.1.5.Machen Sie Python Zugriff auf MS Access schneller auf Windows

Der DB-Zugriff ist auf diese Weise sehr langsam (ich bin auf Fast Machine und alle anderen Db-Operationen sind normal) und ich frage mich, ob es eine bessere Möglichkeit gibt, auf die MDB von Python zuzugreifen? Vielleicht ein besserer ODBC-Fahrer?

Dies ist ein Beispiel-Skript wie ich verwende:

import pyodbc 
cstring = 'DRIVER={Microsoft Access Driver (*.mdb)};DBQ=t:\data.mdb' 
conn = pyodbc.connect(cstring) 
cursor = conn.cursor() 
sql="UPDATE ..." 
cursor.execute(sql) 
conn.commit() 
conn.close() 

Antwort

0

Tonys Vorschlag macht für mich am meisten Sinn. Wenn dies jedoch nicht ausreicht, können Sie auch eine neuere Version des Treibers ausprobieren, z. B. this one, die mit Office 2007-Dateien arbeitet (natürlich auch mit älteren Versionen). Sie können es herunterladen und installieren, auch wenn Sie kein Office haben.

Nachdem Sie es installiert haben, versuchen Sie eine Verbindungszeichenfolge wie folgt aus:

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=T:\data.mdb; 
+0

Danke, es geht jetzt schneller – mit

3

Versuchen Sie, Ihre Verbindung einmal beim Programmstart Einrichten und dann die Verbindung überall wiederverwendet. Anstatt es nach jedem Ausführen oder Commit zu schließen.

+0

Ich war schon dies zu tun, aber wichtiger Punkt! – mit