我想用VB解析ASP.NET中用戶提交的csv文件。這裏是我的功能:VB.net中的CSV文件和OLEDB - 無信息例外
Public Function getData() As DataSet
Dim conn As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Path.GetTempPath() + ";Extended Properties=""Text;HDR=No;FMT=Delimited"""
Dim cn As New OleDbConnection(conn)
Dim cmd As New OleDbCommand("SELECT * FROM " + sourceFile, cn)
Dim da As New OleDbDataAdapter(cmd)
cn.Open()
Dim dt As New DataSet()
da.Fill(dt)
cn.Close()
Return dt
End Function
我得到的錯誤是:
System.Data.OleDb.OleDbException was unhandled by user code
錯誤碼= -2147467259 消息= IErrorInfo.GetDescription失敗,E_FAIL(0x80004005的)。 源= System.Data 堆棧跟蹤: 在System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(OleDbHResult小時) 在System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams,對象&的ExecuteReuslt) 在System.Data.OleDb .OleDbCommand.ExecuteCommandText(對象&的ExecuteReuslt) 在System.Data.OleDb.OleDbCommand.ExecuteCommand(的CommandBehavior行爲,對象&的ExecuteReuslt) 在System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(的CommandBehavior行爲,字符串方法) 在系統。 Data.OleDb.OleDbCommand.ExecuteReader(CommandBehavior行爲) at System.Data.OleDb.OleDbCommand.Sys System.Data.Common.DbDataAdapter.FillInternal(DataSet數據集,DataTable [] datatables,Int32 startRecord,Int32 maxRecords,String srcTable,IDbCommand命令,CommandBehavior行爲) System.Data.Data.IDbCommand.ExecuteReader(CommandBehavior行爲) 。 Data.Common.DbDataAdapter.Fill(DataSet dataSet,Int32 startRecord,Int32 maxRecords,String srcTable,IDbCommand命令,CommandBehavior行爲)位於SuperSMITH.CSVReader.getData()的System.Data.Common.DbDataAdapter.Fill(DataSet數據集) 處的 。在C:\ Projects \ Allied \ tools \ Step2.aspx.vb中:位於C:\ Projects \ Allied \ App_Code \ CSVReader.vb:line 29 at tools_Step2.uplFile_FileUploadComplete(Object sender,FileUploadCompleteEventArgs e):Line 58 at DevExpress。 Web.ASPxUploadControl.ASPxUploadControl.OnFileUploadComplete(FileUploadCompleteEventArgs e) 在DevExpress.Web.ASPxUploadControl.ASPxUploadControl.RaiseFileUploadComplete(UploadedFile的UploadedFile的,字符串& ERRORTEXT,字符串& callbackData) 在DevExpress.Web.ASPxUploadControl.ASPxUploadControl.Validate() 的InnerException:
誤差在da.fill(dt)
上來線。
有什麼建議嗎?
這是「C:\ Documents and Settings \ greg \ Local Settings \ Temp \ tmpF61.tmp」 – 2011-03-10 20:55:05
我應該從上傳表單中添加它。我認爲我需要另闢蹊徑,使用其他類型的適配器。 – 2011-03-14 02:07:01