2013-06-05 36 views
1

我想用Excel電子表格(xlsx)中的動態數據使用編碼的UI。我的DataSource屬性似乎有問題。我得到一個錯誤,說未能連接到數據源。這裏是我的連接字符串:編碼的UI單元測試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

DBQ條款看起來是錯誤的。 |DataDirectory|部分是與該值的其餘部分連接的參數。所以實際上這個子句是說從一個名爲ValueOfDataDirectoryC:\\Test1.xlsx的文件中獲取數據。微軟文檔(參見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

測試

+0

試過這個,但仍然出現錯誤。任何其他想法? – user1786107

+0

從Microsoft引用的文本具有'Driver = {Microsoft Excel Driver(* .xls)};''和'; readonly = true',它們不在您的文本中。另外,微軟說'driverid = 790'你使用'1046'。在'Driver ='子句中嘗試'.xlsx'也是值得的。 – AdrianHHH

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] 

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目錄|」來自連接字符串。這應該有助於:)