OLEDB连接到Access无法正常工作; “未找到数据源名称且未指定默认驱动程序”

时间:2010-07-21 12:45:06

标签: asp.net ms-access

我正在尝试从ASP.Net应用程序中检索Access数据库中的数据。 当我访问一个表执行ExecuteScalar时,它可以工作。 但是在下面的代码中我得到了这个错误; 未找到数据源名称且未指定默认驱动程序

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;
}

2 个答案:

答案 0 :(得分:1)

它不需要是OLEDBConnection而不是ODBC吗?您正在使用Microsoft.Jet.OLEDB.4.0

答案 1 :(得分:0)

按照建议更改代码以使用OleDbConnection和OleDbDataAdapter。

尝试对路径和文件名进行硬编码或输出GetConnectionString()函数返回的内容。我怀疑格式不正确。首先让它工作,然后如果这是问题,调试GetConnectionString()函数。