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"