2010-07-21 4 views
0

ASP.Net 응용 프로그램에서 Access 데이터베이스의 데이터를 검색하려고합니다. ExecuteScalar에 대해 하나의 테이블에 액세스 할 때 작동합니다. 하지만 다음 코드에서이 오류가 발생합니다. 데이터 원본 이름을 찾을 수 없으며 기본 드라이버는 ODBC는 OleDbConnection을하지 할 필요가 없습니다OLEDB 연결이 작동하지 않습니다. "데이터 원본 이름을 찾을 수없고 기본 드라이버가 지정되지 않았습니다."

private static string GetConnectionString() 
{ 

    string importFolder = HttpContext.Current.Server.MapPath(ConfigurationManager.AppSettings["DataPath"].ToString()); 
    string fileName = ConfigurationManager.AppSettings["DataFile"].ToString(); 
    return "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + importFolder + fileName; 
} 

public DataTable getaddresses(string doorno, string Addsearch) 
{ 

    System.Data.Odbc.OdbcConnection conn = new System.Data.Odbc.OdbcConnection(GetConnectionString()); 

    DataTable dt = new DataTable(); 
    string query = "SELECT * FROM Address_tble"; 
    System.Data.Odbc.OdbcDataAdapter da = new System.Data.Odbc.OdbcDataAdapter(query, conn); 
    da.Fill(dt); 
    da.Dispose(); 
    return dt; 
} 

답변

1

를 지정하지? Microsoft.Jet.OLEDB.4.0을 사용하고 있습니다.

+0

또는 ODBC 연결로 간주되는 경우 연결 문자열을 변경하십시오. – JeffO

0

제안 된대로 OleDbConnection 및 OleDbDataAdapter를 사용하도록 코드를 변경하십시오.

경로 및 파일 이름을 하드 코딩하여 시도하거나 GetConnectionString() 함수가 반환하는 내용을 출력하십시오. 나는 틀린 체재를 의심한다. 먼저 작동 시키십시오. 그런 다음 문제가 발생하면 GetConnectionString() 함수를 디버깅하십시오.

관련 문제