win32com пытается открыть базу данных Access и запустить макрос с python, но всегда открывать режим только для чтения - PullRequest
0 голосов
/ 21 апреля 2020

У меня проблема с открытием созданной базы данных Access с помощью скрипта Python с использованием win32com, потому что он всегда открыт в режиме только для чтения, а запросы и макросы не запускаются с ошибкой во время выполнения. Я много читал по inte rnet, но мне нужна помощь ... Я не нашел решения ... Это мой код, я думаю, что все в порядке, но:

nombreBD = 'path/database.accdb'
os.chmod(nombreBD, S_IWRITE)
objAccess = Dispatch("Access.Application")
objAccess.OpenCurrentDatabase (nombreBD, False)
objAccess.Visible = False
objAccess.DoCmd.RunMacro('Ejecutar')
objAccess.Visible = True
objAccess.CloseCurrentDatabase
objAccess.Application.Quit()  

I сделал следующие шаги:

  1. Права доступа пользователя к файлу и папке
  2. Проверьте мою конфиденциальность в центре доверия Office: Ссылка
    • Добавление доверия путь
    • Разрешить выполнение сценариев ...
  3. Отключение базы данных доступа только для чтения

При открытии вручную требуемого файла database.accdb , все в порядке, нет проблем, и я могу выполнить все, но если я запускаю его из Python Script, всегда открывается в режиме только для чтения ... как если бы другой процесс был активен, когда скрипт вызывает файл ... но я также проверьте это, и процесс доступа не активен, и .laccdb не создан.

enter image description here

Заранее всем спасибо!

I запускаю скрипт на Windows Server 2012.

...