2011-11-14 3 views
2

저는 vb.net 2003을 사용하고 있으며 OleDb Connection을 사용하여 Excel 2003 파일을 읽고 싶습니다. 하지만 연결 문자열에 IMEX=1 속성을 넣을 때 문제가 있습니다. 그러나이 IMEX 속성을 romove해야 할 때 시스템은 오류없이 실행됩니다. 내 연결 문자열은 다음과 같습니다설치 가능한 ISAM을 찾을 수 없습니다

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

이 오류를 해결할 수있는 방법을 알려주세요. IMEX 속성을 넣어서 드라이버가 각 셀에 항상 섞인 (문자열, 정수, 날짜) 데이터 형식을 읽도록 지시해야합니다.

여기에 오류가 있습니다. 당신이 값 토큰이 인용해야 다음 1 개 이상 확장 된 속성을 사용하는 경우

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

, 그렇지 않으면 드라이버가 연결 문자열에 다른 비 확장 속성과 구별 할 방법이 없다;

... pathName & ";Extended Properties=""Excel 8.0;IMEX=1""" 
+0

안녕하세요 alex, 확장 속성 문자열은 이제 괜찮습니다.하지만 IMEX가 작동하지 않는 것으로 보입니다. 열마다 혼합 데이터 유형이 포함 된 Excel을 업로드 했으므로 다른 셀은 비워두고 읽기/출력되지 않습니다. 그것이 어떻게 생겼는지에 대해 알고 있습니까? – Bryan

관련 문제