Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net OLEDB与访问的连接不工作&引用;未找到数据源名称且未指定默认驱动程序;_Asp.net_Ms Access - Fatal编程技术网

Asp.net OLEDB与访问的连接不工作&引用;未找到数据源名称且未指定默认驱动程序;

Asp.net OLEDB与访问的连接不工作&引用;未找到数据源名称且未指定默认驱动程序;,asp.net,ms-access,Asp.net,Ms Access,我正在尝试从ASP.Net应用程序检索Access数据库中的数据。 当我为ExecuteScalar访问一个表时,它会工作。 但是在下面的代码中,我得到了这个错误; 未找到数据源名称,未指定默认驱动程序 private static string GetConnectionString() { string importFolder = HttpContext.Current.Server.MapPath(ConfigurationManager.AppSettings["DataPa

我正在尝试从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;
}

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

更改代码以按照建议使用OLEDB连接和OLEDB数据适配器


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

或者如果假定它是ODBC连接,则更改连接字符串。