1

我正在尝试将编码的 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 文件有效且位于正确的位置。

谢谢

4

4 回答 4

2

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

于 2014-05-29T05:57:04.587 回答
1

尝试使用带有此连接字符串的 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]

有同样的问题,多亏了这里它现在已经修复了:)

于 2013-10-24T14:09:42.833 回答
1

.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]

例如:

[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]
于 2013-06-06T05:47:36.533 回答
1

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.

测试

于 2013-06-05T09:24:40.863 回答