【问题标题】:Coded UI Unit Test Excel Connection String Not Working编码的 UI 单元测试 Excel 连接字符串不起作用
【发布时间】:2013-06-05 08:53:02
【问题描述】:

我正在尝试将编码 ui 与来自 excel 电子表格 (xlsx) 的动态数据一起使用。我的 DataSource 属性似乎有问题。我收到一条错误消息,提示无法连接到数据源。这是我的连接字符串:

[DataSource("System.Data.Odbc", "Dsn=Excel Files;dbq=|DataDirectory|C:\\Test1.xlsx;defaultdir=C:\\;driverid=1046;maxbuffersize=2048;pagetimeout=5", "Sheet1$", DataAccessMethod.Sequential), DeploymentItem("Test1.xlsx"), TestMethod]

xlsx 文件有效且位置正确。

谢谢

【问题讨论】:

    标签: c# excel unit-testing connection-string coded-ui-tests


    【解决方案1】:

    将文件保存为 xls 而不是 xlsx 并删除“|DataDirectory|”从连接字符串。这应该会有所帮助:)

    【讨论】:

      【解决方案2】:

      dbq 子句看起来不对。 |DataDirectory| 部分是与值的其余部分连接的参数。所以实际上该子句是说从名为ValueOfDataDirectoryC:\\Test1.xlsx 的文件中获取数据。 Microsoft 文档(参见 http://msdn.microsoft.com/en-us/library/ee624082.aspx)显示了示例(我添加了换行符):

      DataSource("System.Data.Odbc",
          "Dsn=Excel Files;Driver={Microsoft Excel Driver (*.xls)};
              dbq=|DataDirectory|\\Data.xls;
              defaultdir=.;driverid=790;maxbuffersize=2048;
              pagetimeout=5;readonly=true",
          "Sheet1$", DataAccessMethod.Sequential), TestMethod]
      

      请注意上面没有任何C:

      尝试将 dbq 子句更改为 dbq=C:\\Test1.xlsx

      测试

      【讨论】:

      • 从 Microsoft 引用的文本中有 Driver={Microsoft Excel Driver (*.xls)};;readonly=true 不在您的文本中。此外,微软说driverid=790 你使用了1046。在Driver= 子句中尝试.xlsx 可能也是值得的。
      【解决方案3】:

      尝试使用带有此连接字符串的 xls 文件:

      [DataSource("System.Data.Odbc", @"Dsn=Excel Files;Driver={Microsoft Excel Driver (*.xls)};dbq=C:\\Test1.xls;defaultdir=.;driverid=79‌​0;maxbuffersize=2048;pagetimeout=5;readonly=true","Sheet1$", DataAccessMethod.Sequential), TestMethod]
      

      遇到了同样的问题,多亏了这里,现在已经解决了:)

      【讨论】:

        【解决方案4】:

        将您的 .Xls 文件添加到解决方案并记下文件的路径

        尝试改变

        [DataSource("System.Data.Odbc", 
            "Dsn=Excel Files;Driver={Microsoft Excel Driver (*.xls)};
                dbq=[FullPath Of your .xls file];
                defaultdir=.; driverid=790;
                maxbuffersize=2048; pagetimeout=5; readonly=true",
                "Sheet1$", DataAccessMethod.Sequential), TestMethod]
        

        EG:

        [DataSource("System.Data.Odbc", 
             "Dsn=Excel Files;Driver={Microsoft Excel Driver (*.xls)};
                dbq=C:\\Users\\user1\\documents\\visual studio 2012\\Projects\\Demo\\Demo\\Book1.xlsx;
                defaultdir=.;driverid=790;
                maxbuffersize=2048;pagetimeout=5;readonly=true", 
                "Sheet1$", DataAccessMethod.Sequential), TestMethod]
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-08-01
          • 2019-07-27
          • 2013-02-05
          • 1970-01-01
          • 2021-01-26
          • 2012-11-24
          • 2018-09-03
          • 2013-02-16
          相关资源
          最近更新 更多