Python subprocess.run () запускает мое приложение MS Access только для чтения - PullRequest
0 голосов
/ 24 февраля 2020

Python subprocess.run () запускает мое приложение MS Access только для чтения

Мой Python 3.7.3 скрипт вызывает приложение MS Access на Win 10 через subprocess.run (). При запуске приложения MS Access в MS Access возникает ошибка, и появляется всплывающее сообщение «Не удается обновить. База данных или объект только для чтения ». Я сталкиваюсь с этим условием только при запуске приложения MS Access (для этого примера, называемого: MetaQA.accdb) в python. Если я дважды щелкаю MetaQA.accdb в проводнике, он работает нормально. Я никогда не видел эту проблему, пока я не вызвал MetaQA.accdb через подпроцесс. Подпроцесс работает в режиме только для чтения? Если да, то как мне это изменить?

Примечание: я посмотрел на свои различные приложения MS Access, и они, похоже, перестали работать при записи в локальную таблицу, т.е. «SELECT empnum, max (transdate) AS lastpaid INTO last_staff_paid ”

Значения переменных для приведенного ниже кода:

access = C: / Program Files (x86) / Microsoft Office / Office16 / MSACCESS.EXE

commandLine = S : / ADMIN / DIS / Доступ к проектам / AFEs / MetaQA.accdb

try:
    os.chdir( batchPath )   #   cd to the batch dir.

    if( args.verbose ):
        print( "changed directory to: " + os.getcwd() )
except OSError:
    print( "Unable to change directory to:", batchPath )

if( args.job ): #   run only one job
    commandLine = batchPath + args.job

    if( args.verbose ):
        print( "Running process: " + access + " " + commandLine )

    #   No timer as its assumed this is being run on the cmd line
    proc = subprocess.run( [ access, commandLine ],
        stdout=subprocess.PIPE,
        stderr=subprocess.STDOUT,
        universal_newlines=True
    )

    if( proc.returncode != 0 ):
        returnStatus = returnStatus + " The following batch job failed: " + batchFiles + "\n"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...