【问题标题】:myDB.execute hangs the application when updating SharePoint listmyDB.execute 在更新 SharePoint 列表时挂起应用程序
【发布时间】:2015-09-02 20:37:36
【问题描述】:

我在 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,实际上我必须这样做才能在 IE 中单击“使用 Access 打开”,这将下载我使用 OpenDatabase 方法打开的 accdb 文件。
  • 当前,本地用户运行该脚本。我已使用应用程序 ID domain\my.team.name 登录,在此会话中配置了 Outlook,错误仍然存​​在。
    • 此 ID 对 SharePoint 网站和列表具有权限。

我一无所知。如果有人知道它是否使用了除 443 以外的更多端口,我可以请求创建任何策略。

感谢阅读,希望对你有所帮助。

【问题讨论】:

    标签: vba sharepoint dao


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多