복붙노트

[SQL] OLEDB 예외를 진단 할 때 2010 쿼리 엑셀

SQL

OLEDB 예외를 진단 할 때 2010 쿼리 엑셀

SQL을 통해 엑셀 시트를 조회하려면, 나도 사용하는 데 사용 :

Dim excelConnectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + strPath + ";Extended Properties=""Excel 8.0;IMEX=1;HDR=YES;"""

또는

Dim excelConnectionString As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source= " + strPath + ";Extended Properties=""Excel 12.0;IMEX=1;HDR=YES;"""

내가 Office 2010을 설치할 때까지 지금이 벌금을했다.

지금은 얻을

어떻게 올바른 연결 문자열 / 공급 업체를 찾을 수 있습니까?

해결법

  1. ==============================

    1.아마도 당신은 Access 데이터베이스 엔진 (ACE) 구성 요소를 제거? 데이터 연결 구성 요소 : 그들은 여전히 ​​2007 오피스 시스템 드라이버와 같은 MSDN에서 다운로드 할 수 있습니다.

    아마도 당신은 Access 데이터베이스 엔진 (ACE) 구성 요소를 제거? 데이터 연결 구성 요소 : 그들은 여전히 ​​2007 오피스 시스템 드라이버와 같은 MSDN에서 다운로드 할 수 있습니다.

  2. ==============================

    2.나는 엑셀 2010이 믿고 :

    나는 엑셀 2010이 믿고 :

    Dim excelConnectionString As String = "Provider=Microsoft.ACE.OLEDB.12.0;Password="""";User ID=Admin;Data Source=D:\\MyDocs\\oledb.xlsx;Mode=Share Deny Write;Extended Properties=""HDR=YES;"";Jet OLEDB:Engine Type=37"
    

    이것은 내 비주얼 스튜디오에서 작업에 나타납니다, 나는 쿼리 문자열을 생성하는 엑셀을 가지고 있으며 거기에 여분의 항목을했다.

  3. ==============================

    3.나는 다운로드 및 Office 시스템 드라이버 설치 : 위의 권고로 데이터 연결 구성 요소 - 코드 아래 일했다 :

    나는 다운로드 및 Office 시스템 드라이버 설치 : 위의 권고로 데이터 연결 구성 요소 - 코드 아래 일했다 :

        string connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Password=\"\";User ID=Admin;Data Source=d:\\Sample.xlsx;Mode=Share Deny Write;Extended Properties=\"HDR=YES;\";Jet OLEDB:Engine Type=37";
    
        OleDbConnection connection = new OleDbConnection(connectionString);
    
        try
        {
            connection.Open();
    
            OleDbCommand command = new OleDbCommand("SELECT * FROM [Sheet1$]", connection);
            OleDbDataAdapter adapter = new OleDbDataAdapter();
            adapter.SelectCommand = command;
    
            DataSet ds = new DataSet();
            adapter.Fill(ds);
    
            GridView1.DataSource = ds;
            GridView1.DataBind();
    
        }
        catch (Exception)
        {            
            //throw;
        }
        finally
        {
            connection.Close();
        }
    
  4. from https://stackoverflow.com/questions/1461053/diagnosing-an-oledb-exception-when-quering-excel-2010 by cc-by-sa and MIT license