更新SharePoint列表时,myDB.execute会挂起应用程序

时间:2015-09-02 20:37:37

标签: vba sharepoint dao

我在Outlook应用程序中运行此脚本。它将分析电子邮件,转发给相应的团队,将收到的电子邮件移动到"处理过的"文件夹等... 现在进行下一步,我想将动作记录到我们的SharePoint。

我添加了几行代码,它在我(公司提供的)计算机中充当了魅力。

我添加的基本上是:

Dim db as Database
Set db = DAO.OpenDatabase("path\thedb.accdb")
db.execute(myquery)

查询始终是插入。我已经尝试了包含变量的完整插入,或者像这样的

db.Execute "INSERT INTO the_list ([tktnum]) VALUES ('987654');"

我已经搜索过了,唯一给我希望的是添加dbFailOnError,就像在

中一样
db.Execute "INSERT INTO the_list ([tktnum]) VALUES ('987654');", dbFailOnError

但没有区别。

再次:从我的电脑中,它完美运行。

现在,如果我转到运行脚本的服务器并添加SharePoint更新代码,它将导致Outlook崩溃。在db.execute行上有一个断点,我看到Outlook保持[运行]大约5秒钟,然后它崩溃了。我把它留在那里,做其他事情,几小时后回来,它仍然挂着。

  • 我可以使用2台服务器,它们位于专用的数据中心区域。两者都发生错误。
  • 他们在同一个子网中。
  • 两者都是2008R2,我已经安装了Office 2013 Pro。
  • 一台服务器连接到公司KMS,而另一台服务器的防火墙规则未决,因此Office在后者中显示未经许可。
  • 我可以从两台服务器浏览SharePoint,实际上我必须点击" Open with Access"在IE中,它将下载我用OpenDatabase方法打开的accdb文件。
  • 目前,本地用户运行该脚本。我已使用应用程序ID域\ my.team.name登录,在此会话中配置了Outlook,错误仍在继续。
    • 此ID具有SharePoint网站和列表的权限。

我很无能为力。如果有人知道除了443之外还有更多的端口,我可以请求创建任何策略。

感谢您阅读,希望您能提供帮助。

1 个答案:

答案 0 :(得分:0)

我发现使用ADO而不是使用DAO,我可以从服务器成功更新共享点列表。