Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/272.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.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
C# MS Access与ASP.NET的连接_C#_Asp.net_Ms Access - Fatal编程技术网

C# MS Access与ASP.NET的连接

C# MS Access与ASP.NET的连接,c#,asp.net,ms-access,C#,Asp.net,Ms Access,我正在尝试将MS Access数据库连接到ASP.Net以获取数据。但下面的错误不断出现。 我认为这与Web.config连接有关,但我到底做错了什么,我还是不明白 错误- strong textSystem.ArgumentException:不支持关键字:“provider”。System.Data.Common.DbConnectionOptions.ParseInternal(哈希表parsetable、字符串connectionString、布尔构建链、哈希表同义词、布尔firstKe

我正在尝试将MS Access数据库连接到ASP.Net以获取数据。但下面的错误不断出现。 我认为这与Web.config连接有关,但我到底做错了什么,我还是不明白

错误-

strong textSystem.ArgumentException:不支持关键字:“provider”。System.Data.Common.DbConnectionOptions.ParseInternal(哈希表parsetable、字符串connectionString、布尔构建链、哈希表同义词、布尔firstKey)System.Data.Common.DbConnectionOptions..ctor(字符串connectionString、哈希表同义词、布尔useOdbcRules)System.Data.SqlClient.SqlConnectionString..ctorSystem.Data.ProviderBase.DbConnectionFactory.GetConnectionPoolGroup中System.Data.SqlClient.SqlConnectionFactory.CreateConnectionOptions(String connectionString,DbConnectionOptions previous)处的字符串connectionString(字符串connectionString)(DbConnectionPoolKey,DbConnectionPoolGroupOptions poolOptions,DbConnectionOptions&userConnectionOptions)在System.Data.SqlClient.SqlConnection.ConnectionString_Set(DbConnectionPoolKey)在System.Data.SqlClient.SqlConnection.Set_ConnectionString(字符串值)在System.Data.SqlClient.SqlConnection..ctor(字符串连接字符串,SqlCredential凭证)在System.Data.SqlClient.SqlConnection..ctor(字符串连接字符串)在Dummy.Page_加载(对象发送方,EventArgs e)在C:\xyz\Dummy.aspx.cs中:第19行


受保护的无效页面加载(对象发送方、事件参数e)
{
string connectionString=ConfigurationManager.connectionString[“MS\u Access\u DatabaseConnectionString”]。connectionString;
尝试
{
SqlConnection conn=新的SqlConnection(connectionString);
if(conn.State==ConnectionState.Closed)
{
conn.Open();
}
String sql=“从[银行详细信息]中选择[银行],[金额]”;
使用(SqlCommand cmd=newsqlcommand(sql,conn))
{
使用(SqlDataReader=cmd.ExecuteReader())
{
while(reader.Read())
{
Write(“+reader.GetString(0));
}
}
}
}
捕获(例外情况除外)
{
答复.编写(ex);
}

不应使用
SqlConnection
,而应使用
OleDbConnection
,因为
SqlConnection
试图将连接字符串读取为SQL Server连接字符串,而不是访问数据库连接字符串:

try
{
    OleDbConnection conn = new OleDbConnection(connectionString);
    if (conn.State == ConnectionState.Closed)
    {
        conn.Open();
    }

    String OleDb = "SELECT [Bank], [Amount] FROM [BankDetails]";


    using (OleDbCommand cmd = new OleDbCommand(OleDb, conn))
    {
        using (OleDbDataReader reader = cmd.ExecuteReader())
        {
            while (reader.Read())
            {
                Response.Write("" + reader.GetString(0));
            }

        }
    }
}
catch (Exception ex)
{
    Response.Write(ex);
}
  • 将using
    System.Data.OleDb.OleDbConnection;
    添加到文件顶部,然后删除using
    System.Data.SqlConnection;
  • 将代码更改为

    正在使用(OleDbConnection con=new OleDbConnection(connDB))//错误如下 { }


  • 将您的
    SqlConnection、SqlCommand、SqlDataReader
    更改为
    OleDbConnection、OleDbCommand、OleDbDataAdapter
    您的连接字符串是错误的…看看-顺便问一下,为什么您使用Access而不是SQL Server Express?Access是一个基于文件的桌面数据库,不适用于网站。连接字符串不是问题。I我使用Access是因为我还在学习。谢谢,错过讣告真是太愚蠢了。不会再发生了。
    try
    {
        OleDbConnection conn = new OleDbConnection(connectionString);
        if (conn.State == ConnectionState.Closed)
        {
            conn.Open();
        }
    
        String OleDb = "SELECT [Bank], [Amount] FROM [BankDetails]";
    
    
        using (OleDbCommand cmd = new OleDbCommand(OleDb, conn))
        {
            using (OleDbDataReader reader = cmd.ExecuteReader())
            {
                while (reader.Read())
                {
                    Response.Write("" + reader.GetString(0));
                }
    
            }
        }
    }
    catch (Exception ex)
    {
        Response.Write(ex);
    }