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

Reply via email to