开发者问题收集

为什么处理 MS ACCESS 数据的 vbscript 不能在一台服务器上以我的名义运行,而在另一台服务器上却不能运行?

2019-05-28
618

MS Office 365 ProPlus,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 不太熟悉,所以我只是在瞎猜。

2个回答

您一定会喜欢这个....

我准备了一份 vbs 脚本,将其指向 DB 的调试副本。我打算将这份副本交给 IT 人员,让他进行调试。当我测试它时,我很惊讶地发现它运行正常。我将副本指向主非调试 DB 并尝试了该操作。它运行良好。我将原始 vbs 重命名为“aside”,并将副本重命名为原始名称,它运行良好。我将“aside”与工作副本进行比较,发现它们完全相同。

Windows 永远不会停止令人惊叹。

我建议遇到这种情况的任何人都复制并运行它。根据需要重命名!

daveg
2019-06-11

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

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

daveg
2019-07-31