C# MS Access与ASP.NET的连接
我正在尝试将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行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
受保护的无效页面加载(对象发送方、事件参数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);
}
System.Data.OleDb.OleDbConnection;
添加到文件顶部,然后删除usingSystem.Data.SqlConnection;
将您的
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);
}