【问题标题】:Visual Studio - The unit test adapter failed to connect to the data source or to read the dataVisual Studio - 单元测试适配器未能连接到数据源或读取数据
【发布时间】:2019-06-22 15:45:47
【问题描述】:

我正在尝试运行一些使用 Excel 电子表格作为数据源的单元测试,但在 Visual Studio 2017 中出现以下错误:

消息:单元测试适配器未能连接到数据源或读取数据。有关解决此错误的详细信息,请参阅 MSDN 库中的“数据驱动单元测试故障排除”(http://go.microsoft.com/fwlink/?LinkId=62412)。错误详情:ERROR [IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified

测试方法属性为:

[TestMethod]
[DeploymentItem("SiteSettings.xml")]
[DeploymentItem("TestData\\My_Test_Data.xls")]
[DeploymentItem("Drivers\\IEDriverServer.exe", "Drivers")]
[DataSource("System.Data.Odbc", "Dsn=Excel Files; dbq=|DataDirectory|\\My_Test_Data.xls", "MyApp$", DataAccessMethod.Sequential)]

同一个项目在另外两台机器上运行良好,在进一步研究之后我发现ODBC Data Source Administrator 存在差异,可以通过转到Control Panel -> Administrative Tools -> Data Sources (ODBC) 打开它。在User DSN tab中,如果我选择Excel Files并按下Configure按钮,我会依次收到以下错误消息:

尝试谷歌重新安装 Excel 驱动程序的方法,但没有找到直接的方法。

操作系统:Windows 7 x64。

Office:MS Office 365 (2016)。

【问题讨论】:

    标签: excel visual-studio windows-7 odbc office365


    【解决方案1】:

    当前用于 Excel 数据文件的 ODBC 驱动程序是 Microsoft Access 数据库引擎 2016 Redistributable 的一部分,installers are freely downloadable from Microsoft。 (请注意,您必须在 32 位和 64 位安装程序之间进行选择。您可以同时下载并安装它们在同一个 Windows 环境中。)

    【讨论】:

    • 感谢您的回答,但安装 MS Access 数据库引擎 2016 后,我仍然看不到 Microsoft Excel 驱动程序(*.xls、*.xlsx、*.xslm),在运行 C:\Windows\SysWOW64\odbcad.exe 和尝试添加新驱动程序,但在运行 C:\Windows\System32\odbcad.exe 并尝试在那里添加新驱动程序时,我确实看到了 15.x 版本的驱动程序。
    • 有没有办法将其添加到x64版本的odbcad.exe中?
    • 我提供的链接让您获得要么 32 位 64 位安装程序。显然,您已经安装了 64 位,但仍然需要 32 位。您可以将两者安装在同一台机器上。另请阅读this article 了解 32 位与 64 位 ODBC 管理员。
    • 感谢您分享文章的链接,它使正在发生的事情更加清晰,我已经通过安装 x64 Microsoft Access Database Engine 2016 Redistributable 并将我的单元测试默认处理器架构设置为 x64,方法是转到 Test -> Test Settings -> Default Processor Architecture 并选择 x64(之前选择了 x86)。
    【解决方案2】:

    如果有人在安装 Office 365 时遇到此问题,则无法安装 Microsoft Access Database Engine 2016 Redistributable。 Microsoft 建议为 Office 365 即点即用安装产品安装 Microsoft Access 2013 Runtime。 https://docs.microsoft.com/en-us/office/troubleshoot/access/cannot-use-odbc-or-oledb

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-22
      • 1970-01-01
      • 1970-01-01
      • 2013-06-07
      • 1970-01-01
      • 2015-06-03
      相关资源
      最近更新 更多