System.Data.OleDB.OleDBExeption(0x80004005):尝试从SharePoint

时间:2016-01-11 22:05:51

标签: excel sharepoint coded-ui-tests microsoft-test-manager network-drive

在我为社区了解完整答案之前,我正在问这个问题。随意提出建议等等。

情景:

我正在为客户创建自动化测试。他们希望这些测试使用数据源,但是如果可能的话,他们希望手动测试人员和非编程人员对他们进行更新。我们获得的解决方案涉及在SharePoint网站上设置一个电子表格,其中包含在app.config中指定的连接字符串。该软件还确定Microsoft Test Manager中正在使用的测试设置(或者如果它正在本地调试/运行),并使用该信息来确定它需要哪些表/行。该解决方案在本地完美运行。

问题:

我们推出了一个新版本,并将我们的测试用例与解决方案相关联。我试图从MTM运行测试。测试最初失败,因为测试代理没有安装excel或数据驱动程序连接包。我解决了这个问题,并在标题中看到了:

“System.Data.OleDB.OleDBExeption(0x80004005):创建文件失败”

这是一个荒谬的错误,因为a)我们从不创建excel文件甚至写入它b)我们在本地运行时从未遇到过此错误,并且测试代理使用的帐户具有相同的sharepoint权限。应该注意的是,测试代理是运行Server 2012的VM。

以下是一些错误的线索:

  • 我可以查看SharePoint网站,甚至在远程访问测试代理时使用Internet Explorer下载测试数据.xlsx文件。
  • 但是我无法使用Windows资源管理器打开SharePoint网站。我收到错误“我们在文件资源管理器中打开此位置时遇到问题。将此网站添加到您的可信站点列表并再试一次”。即使在将站点添加到可信站点并确保服务器是最新的补丁之后,此错误仍然存​​在(有一些KB文章详细说明了此问题)
  • 我也无法将网络驱动器映射到SharePoint网站,就像我在开发计算机上一样

最后我尝试了一些我应该早点做的事情。我将app.config中的连接字符串更改为本地文件位置(类似于“C:/Folder/TestData.xlsx”),排队新构建,从SharePoint下载测试数据,并将其放在测试中的该位置代理。结果是使用此本地文件正确执行了测试。

如果有人知道此AD帐户如何成为SharePoint网站的所有者,但无法通过Windows资源管理器访问它,请在下面提供答案,您将获得一些SO Karma。否则我会在解决问题后做出回应。

1 个答案:

答案 0 :(得分:1)

所以解决这个问题需要几个步骤:

  • 启用" Desktop Experience Feature"在测试代​​理VM上。
  • 这增加了" WebClient"服务到VM。我们将此服务设置为自动运行。
  • 我们还继续在计算机上映射SharePoint驱动器。我不相信这是必要的。
  • THIS文章的疑难解答中提到了WebClient服务。我很沮丧,我没有检查这项服务,我不知道为什么我这样做。