2014-10-24 2 views
0

'/'응용 프로그램에서 서버 오류가 발생합니다.vb에서이 csv 파일을 읽으려고 시도한 다음 CSV의 데이터를 응답으로 쓰십시오.

잘못된 인수입니다.

설명 현재 웹 요청을 실행하는 동안 처리되지 않은 예외가 발생했습니다. 오류 및 코드에서 시작된 위치에 대한 자세한 정보는 스택 추적을 검토하십시오.

예외 정보 : System.Data.OleDb.OleDbException : 잘못된 인수입니다.

나는 몇 가지 문제가 여기 내 코드

Dim sheets as new List(Of String)(New String(){"po"}) 

Dim MyConnection As System.Data.OleDb.OleDbConnection 
Dim DtSet As System.Data.DataSet 
Dim MyCommand As System.Data.OleDb.OleDbDataAdapter 

MyConnection = New System.Data.OleDb.OleDbConnection("provider=Microsoft Office 12.0 Access Database Engine OLE DB Provider;Data Source=" & filepath & ";Extended Properties=Excel 8.0;") 

for p as integer = 0 to sheets.count - 1 
    dim dt as DataTable 
    MyCommand = New System.Data.OleDb.OleDbDataAdapter("Select * from ["& sheets(p) & "$]", MyConnection) 
    DtSet = New System.Data.DataSet 
    MyCommand.Fill(DtSet) 
    dt = DtSet.Tables(0) 

    if p > 0 
     response.write(sheets(p)) 
    end if 

next 
MyConnection.Close() 

답변

0

년대 DataSet

을 읽을 수 MyCommand.Fill를 사용하려고하면

  • 당신이 마이크로 소프트 오피스를 사용하는 이유가 있나요 12.0 Access 데이터베이스 엔진 OLE DB 공급자? 사용 방법에 대해 Microsoft.Jet.OLEDB.4.0?
  • DB 연결 (즉, MyConnection)이 이 (가)으로 열려 있습니까?
  • 또한 사용자에게 처리되지 않은 오류가 나타나지 않게하려고합니다. this 예에서 Try/Catch을 사용하십시오.

첫 번째 시도가 첫 번째 포인트에 대한 MyConnection.Open을 (호출하여 연결)

Dim sheets as new List(Of String)(New String(){"po"}) 

Dim MyConnection As System.Data.OleDb.OleDbConnection 
Dim DtSet As System.Data.DataSet 
Dim MyCommand As System.Data.OleDb.OleDbDataAdapter 

MyConnection = New System.Data.OleDb.OleDbConnection("provider=Microsoft Office 12.0 Access Database Engine OLE DB Provider;Data Source=" & filepath & ";Extended Properties=Excel 8.0;") 

MyConnection.Open() '<-------------------- open the connection here 

for p as integer = 0 to sheets.count - 1 
    dim dt as DataTable 
    MyCommand = New System.Data.OleDb.OleDbDataAdapter("Select * from ["& sheets(p) & "$]", MyConnection) 
    DtSet = New System.Data.DataSet 
    MyCommand.Fill(DtSet) 
    dt = DtSet.Tables(0) 

    if p > 0 
     response.write(sheets(p)) 
    end if 

next 
MyConnection.Close() 
+0

를 엽니 다, 나는 내 참조로 가서 이야기하고 그것을이었다. 나는 왜 사무실 12.0에 혼란스러워했지만 그의 참고 코드는 그가 사용하고있는 것이었다. 나는 remoteling이 이상한 rigtht이기 때문에 그 monday를 지금 시험해야 할 것이다. –

+0

시도해 보았습니다. MyConnection.Open()을 추가 한 후 End of Statement가 예상됩니다. –

+0

제공된 코드에 오류가 발생하지 않습니다. –