2011-11-14 94 views
2

我正在使用vb.net 2003,我想使用OleDb连接来读取excel文件2003。但是当我将IMEX=1属性放在连接字符串上时,我遇到了问题。但是当我不得不提起这个IMEX属性时,系统运行时没有错误。这是我的连接字符串找不到可安装的ISAM

xlsCon = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & pathName & " ; Extended Properties=Excel 8.0;IMEX=1") 

任何人都可以帮助我如何解决这个错误?我需要将IMEX属性设置为告诉驱动程序始终在每个单元上读取混合(字符串,整数,日期)数据类型。

这是我遇到的错误。

System.Data.OleDb.OleDbException: Could not find installable ISAM. 
    at System.Data.OleDb.OleDbConnection.ProcessResults(Int32 hr) 
    at System.Data.OleDb.OleDbConnection.InitializeProvider() 
    at System.Data.OleDb.OleDbConnection.Open() 
    at System.Data.Common.DbDataAdapter.QuietOpen(IDbConnection connection, ConnectionState& originalState) 
    at System.Data.Common.DbDataAdapter.FillFromCommand(Object data, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) 
    at System.Data.Common.DbDataAdapter.Fill(DataTable dataTable, IDbCommand command, CommandBehavior behavior) 
    at System.Data.Common.DbDataAdapter.Fill(DataTable dataTable) 
    at Production_Tracking_System.frmPMEFNATUpload.getUploadedData(String pathName) in D:\Legacy\Development\PTS 2 VSG-NAT\Forms\frmPMEFNATUpload.vb:line 434 

回答

6

如果使用超过1个扩展属性,则该值标记必须用引号引起来,否则就没有办法让司机从连接字符串中的其他非扩展属性相区分;

​​
+0

嗨亚历克斯,扩展属性字符串现在好了,但我似乎IMEX不工作。由于我已经上传了每列包含混合数据类型的excel,所以其他单元格保留空白,并且不会再出现/输出。你有什么想法吗? – Bryan

相关问题