【问题标题】:Why won't vbs script which manipulates MSACCESS data run as me from one server but not another?为什么操纵 MS ACCESS 数据的 vbscript 不能像我一样从一台服务器而不是另一台服务器运行?
【发布时间】:2019-05-28 18:30:35
【问题描述】:

MS Office 365 专业增强版,Access 2007 - 2016

我有一个简单的 vbs 脚本,它在 MSACCESS DB 中运行一个宏...

set accessApp = CreateObject("Access.Application")
accessApp.OpenCurrentDatabase "\\sharedfileserver\somedir\mydb.accdb"
accessApp.Visible = false
accessApp.Run "Update_Burndown_Metrics"
accessApp.Quit

当我在笔记本电脑上(用户 = 我)时,此脚本运行良好。但是当我登录到另一个 Windows 服务器并尝试运行相同的脚本时,我得到...

Script C:\Users\dgauthie\Desktop\dbg.vbs
Line 4
Char 1
Error: Unknown runtime error
Code: 800A9D9F
Source: Microsoft VBScript runtime error

我希望我知道 800A9D9F 是什么意思。这个在谷歌上并不多。

感觉像是权限的事情。但是我在笔记本电脑和其他 Windows 服务器上都以我的身份登录。 (如果它产生差异,我使用“远程桌面连接”登录到另一台服务器)。

有什么想法吗?

附录: 问题是否根源于存在问题的服务器上的设置......防止运行代码操纵外部数据库?我是一个linux人,对windows不太熟悉,所以我只是抓住了稻草。

【问题讨论】:

  • 我建议你问问 IT 人员。我怀疑程序化操作被阻止了。
  • 我没有在这个盒子上进行测试的访问权限,但你试过Access.ApplicationError(long) method吗?您是否尝试直接/交互地打开该数据库文件? Got this one too,不要认为这对你有帮助。
  • 而且我没听说过,但是有Application.MacroError
  • pcreview.co.uk/threads/… - 搜索结果中的其他结果会导致特定目的地的权限出现特定问题。那么“但是当我登录到另一个 Windows 服务器并尝试运行相同的脚本时,我得到......”是什么意思?您是否从同一位置运行脚本?还是在哪里?
  • 还有一件事:MS Access 是否安装在远程服务器上,从哪里启动它?

标签: ms-access vbscript


【解决方案1】:

你会喜欢这个的......

我准备了 vbs 脚本的副本,将其指向 DB 的调试副本。我打算把这个副本交给一个 IT 人员让他调试。当我测试它时,我惊讶地发现它运行良好。我将副本指向主要的非调试数据库并尝试了。它运行良好。我将原始 vbs 重命名为“aside”,并将副本重命名为原始名称,它运行良好。我将“旁边”与工作副本进行比较,它们是相同的。

Windows 永远不会停止惊奇。

我对遇到此问题的任何人的建议是制作一个副本并运行它。根据需要重命名!

【讨论】:

    【解决方案2】:

    使用新数据库时返回的问题。 解决方案(对于遇到此问题的任何其他人)是 Access DB 以交互方式提示“启用宏”,并且不知何故这体现在 800A9D9F 错误代码中。一旦我添加了可信来源的路径,问题就解决了。

    课程是... 在 Access 中,800A9D9F 有时等同于宏启用/禁用问题

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-09-04
      • 1970-01-01
      • 2011-03-18
      • 2011-08-30
      • 2023-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多