Сделайте доступ Python к MS Access быстрее в Windows - PullRequest
0 голосов
/ 17 декабря 2010

Я на Windows Server 2003 и получаю доступ к локально хранимому MS Access 2000 MDB из скриптов python 2.5.4, используя pyodbc 2.1.5.

Доступ к БД очень медленный (я на быстрой машине, все остальные операции с БД нормальные), и мне интересно, есть ли лучший способ получить доступ к MDB из python? Может быть, лучший драйвер odbc?

Это пример сценария, который я использую:

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()

Ответы [ 2 ]

3 голосов
/ 17 декабря 2010

Попробуйте установить соединение один раз при запуске программы, а затем повторно использовать соединение везде. Вместо того, чтобы закрывать его после каждого выполнения или фиксации.

0 голосов
/ 17 декабря 2010

Предложение Тони имеет для меня самый смысл. Однако, если этого недостаточно, вы также можете попробовать более позднюю версию драйвера, например , эту , которая работает с файлами Office 2007 (а также с более ранними версиями, конечно). Вы можете скачать и установить его, даже если у вас нет Office.

После установки попробуйте строку подключения, например:

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