Я выполняю довольно завершенное обновление запроса MS Access из Python:
qry = '''
UPDATE H500_ODFlows INNER JOIN H500_UPDATE ON
(H500_ODFlows.Product = H500_UPDATE.Product)
AND (H500_ODFlows.Dest = H500_UPDATE.DestCode)
AND (H500_ODFlows.Orig = H500_UPDATE.OrigCode)
SET H500_ODFlows.Pieces = [H500_UPDATE].[Pieces],
H500_ODFlows.Weight = [H500_UPDATE].[Weight],
H500_ODFlows.Cons = [H500_UPDATE].[Pieces],
H500_ODFlows.DeadWeight = [H500_UPDATE].[DeadWeight],
H500_ODFlows.DoNotRead = [H500_UPDATE].DoNotRead,
H500_ODFlows.[_OrigCountryCode] = [H500_UPDATE].[_OrigCountryCode],
H500_ODFlows.[_DestCountryCode] = [H500_UPDATE].[_DestCountryCode]
'''
try:
crsr.execute(lb.cleanqry(qry))
cnxn.commit()
print('Updating was successful.')
except Exception as err:
print('Updating failed. See the error.' + str(err))
но получите следующую ошибку:
(файл 'HY000', '[HY000] [Microsoft] [ODBC Microsoft Access Driver]
превышено количество блокировок Увеличьте запись реестра MaxLocksPerFile.
(-1033) (SQLExecDirectW) ')
Я следовал инструкциям, чтобы увеличить MaxLocksPerFile, но это не помогает. Более того, запрос выполняется в MS Access вполне нормально, но не через Python. Любой совет?