我正在使用vb.net 2003,我想使用OleDb Connection阅读excel文件2003。但是当我将IMEX=1
属性放在连接String上时,我遇到了问题。但是,当我必须删除此IMEX
属性时,系统运行时没有错误。这是我的连接字符串
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
答案 0 :(得分:6)
如果使用多于1个扩展属性,则必须引用值标记,否则驱动程序无法将它们与连接字符串中的其他非扩展属性区分开来;
... pathName & ";Extended Properties=""Excel 8.0;IMEX=1"""