I'm banging my head over this one... sometimes it just works... *argh*
Here's a snip of my problem: import win32com.client import shutil import time engine = win32com.client.Dispatch("DAO.DBEngine.36") table = 'STUFFTODELETE' dstFilename = 'in.mdb' workingfile = 'work.mdb' shutil.copyfile(dstFilename, workingfile) print 'Sleeping 5 after copy...' time.sleep(5) dstDb = engine.OpenDatabase(workingfile) print 'Sleeping 5 after open...' time.sleep(5) dstDb.Execute('DELETE FROM ' + table) At at *exactly* this line, I get the error: C:\Python24\lib\site-packages\win32com\gen_py\00025E01- 0000-0000-C000-000000000046x0x5x0.py 510 com_error: (-2147352567, 'Exception occurred.', (0, 'DAO.Database', 'Not a valid bookmark.', 'jeterr40.chm', 5003159, -2146825129), None) Sometimes... Yes, the database is a %"#$"# MSAccess. This script is running under windows. Any ideas? On 1/31/07, Hugo Ferreira <[EMAIL PROTECTED]> wrote:
Well.. Thx for the answers. The only way I had to make it work was to use a time.sleep(10) after the shutil.copyfile(). Since this is a night-run script, I can waste 10 seconds, but it still knocks me out "why" it happens... Cheers! Hugo Ferreira On 30 Jan 2007 18:06:15 +0000 (GMT), Matthew Woodcraft <[EMAIL PROTECTED]> wrote: > > Hugo Ferreira < [EMAIL PROTECTED]> wrote: > > I have a problem. I'm using calling shutil.copyfile() followed by > > open(). The thing is that most of the times open() is called before > > the actual file is copied. I don't have this problem when doing a > > step-by-step debug, since I give enough time for the OS to copy the > > file, but at run-time, it throws an exception. > > > > Is there anyway to force a sync copy of the file (make python wait for > > the completion)? > > shutil.copyfile() closes both files before it returns, so I suspect > this is an OS-level bug. > > The most likely culprits are buggy network filesystems and buggy > on-access virus scanners. > > -M- > > -- > http://mail.python.org/mailman/listinfo/python-list >
-- http://mail.python.org/mailman/listinfo/python-list