Уведомления

Группа в Telegram: @pythonsu

#1 Июль 26, 2011 11:15:13

alukard404
От:
Зарегистрирован: 2009-11-06
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

[python][pyodbc] Подтверждение операции?

Пишу скрипт, который должен собрать данные и записать в mdb-базу (MS Accsess)
подключение к базе сделал. SELECT работает.
Но на изменение БД никак не идет.
Пробую очистить таблицу:

import pyodbc

MDB = 'Y:\python-working\my.mdb'
DRV = '{Microsoft Access Driver (*.mdb)}'
PWD = ''

conn = pyodbc.connect('DRIVER=%s;DBQ=%s;PWD=%s' % (DRV,MDB,PWD))
curs = conn.cursor()

SQL = '''DELETE FROM MYTABLE;'''
curs.execute(SQL)
curs.close()
conn.close()
Но данные в таблице остаются!
Параллельно ни с чем не открыто. База разрешена на запись.
TRUNCATE TABLE MYTABLE дает тот же нулевой результат.

Из предположений, что ему не хватает какого-нибудть коммита, типа подтверждения транзакции. Но везде где нахожу примеры ничего дополнительного нет.



Офлайн

#2 Июль 27, 2011 05:08:19

pyuser
От:
Зарегистрирован: 2007-05-13
Сообщения: 658
Репутация: +  36  -
Профиль   Отправить e-mail  

[python][pyodbc] Подтверждение операции?

Попробуйте вместо

conn = pyodbc.connect('DRIVER=%s;DBQ=%s;PWD=%s' % (DRV,MDB,PWD))
писать
conn = pyodbc.connect('DRIVER=%s;DBQ=%s;PWD=%s' % (DRV,MDB,PWD), autocommit=True)
либо делайте подтверждение транзакции сами
curs.execute(SQL)
conn.commit()



Офлайн

#3 Июль 27, 2011 22:48:53

alukard404
От:
Зарегистрирован: 2009-11-06
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

[python][pyodbc] Подтверждение операции?

pyuser
Попробуйте вместо
conn = pyodbc.connect('DRIVER=%s;DBQ=%s;PWD=%s' % (DRV,MDB,PWD))
писать
conn = pyodbc.connect('DRIVER=%s;DBQ=%s;PWD=%s' % (DRV,MDB,PWD), autocommit=True)
либо делайте подтверждение транзакции сами
curs.execute(SQL)
conn.commit()
Прям чувствовал что не хватает! Спасибо!



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version