2013-06-05 15 views
1

Я пытаюсь использовать кодированные ui с динамическими данными из таблицы Excel (xlsx). Кажется, проблема связана с моим атрибутом DataSource. Я получаю сообщение об ошибке, которое не удалось подключиться к источнику данных. Вот моя строка подключения:Идентификатор кодированного пользовательского интерфейса Excel Строка подключения не работает

[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 действителен и находится в правильном месте.

Благодаря

ответ

1

СМЫСЛУ В положения выглядит неправильно. Часть |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.

Test

+0

попробовал это, но все еще получал ошибку. любые другие идеи? – user1786107

+0

Текст, указанный в Microsoft, имеет «Driver = {Microsoft Excel Driver (* .xls)};' и '; readonly = true', которые не указаны в тексте. Кроме того, Microsoft говорит 'driverid = 790', что вы использовали' 1046'. Также может быть полезно попробовать '.xlsx' в предложении' Driver = '. – AdrianHHH

1

Добавить файл .Xls к решению и сделать примечание Путь файла

изменение Try

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

была такая же проблема, и благодаря здесь это теперь исправлена ​​:)

2

Сохранить файл как XLS вместо XLSX и удалить «| DataDirectory |» из строки подключения. Это должно помочь :)

Смежные вопросы