我正在尝试从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;
}
答案 0 :(得分:1)
它不需要是OLEDBConnection而不是ODBC吗?您正在使用Microsoft.Jet.OLEDB.4.0
答案 1 :(得分:0)
按照建议更改代码以使用OleDbConnection和OleDbDataAdapter。
尝试对路径和文件名进行硬编码或输出GetConnectionString()函数返回的内容。我怀疑格式不正确。首先让它工作,然后如果这是问题,调试GetConnectionString()函数。