我正在尝试创建一个夜间任务,它将把我的SQL Server数据库作为“夜间快照”下载到MSAccess 2010中,到目前为止,我已经成功了。
我创建了一个包含宏的空白数据库,它可以执行导入,然后优雅地退出。它在我的用户名下工作得很好:
@echo off
For /f "tokens=2-4 delims=/ " %%a in ('date /t') do (set mydate=%%c%%a%%b)
set dest=c:\temp\%mydate%-RAVEN.accdb
xcopy BLANK_RAVEN_WITH_MACROS.accdb %dest%* /Y
start "C:\Program Files (x86)\Microsoft Office\Office14\MSACCESS.EXE" %dest% /X IMPORT_RAVEN但是,当我以SYSTEM用户身份运行任务时(注意,我不应该以自己的用户名运行任务),什么也不会发生。
对于记录,系统用户确实有权访问我的其他数据库,并且系统帐户可以将MS access空白文件复制到目标。但是,Access不会发生任何事情。我只是看到MSAccess作为系统无限期地在后台运行。它永远不会退出
如何通过SYSTEM用户帐户运行MSAccess和运行宏?
发布于 2016-01-26 09:07:56
Microsoft Access应用程序(MSACCESS.EXE)被设计为由“真实”用户运行,因此它可能会对其执行环境做出一些假设。这些假设之一可能是运行它的帐户具有可以存储和检索程序设置的标准位置,例如,文件系统中的%USERPROFILE%和注册表中的HKEY_CURRENT_USER。如果在像SYSTEM这样的帐户下运行时,这些位置不可用,那么MSACCESS.EXE可能会挂起。
如果可能,请创建一个具有最低必要权限的帐户,并在该帐户下运行您的计划任务。
https://stackoverflow.com/questions/35005238
复制相似问题