使用 C# Web.config 文件连接到 Access 数据库

Posted

技术标签:

【中文标题】使用 C# Web.config 文件连接到 Access 数据库【英文标题】:Connect to Access database using C# Web.config file 【发布时间】:2014-08-27 18:49:08 【问题描述】:

我使用的是 MS Access 2013 数据库名称是“comm”,密码是“xyz@12345”

Web.config 连接字符串:

<add name="commconn" connectionString="Provider=Microsoft.ACE.OLEDB.12.0; Data Source=E:/ee/comm.accdb; Jet OLEDB:Database Password=xyz@12345;" />

当我运行我的网站时,它只在我的 DropDownList 绑定数据和错误是这个的地方给出一个错误 “密码无效。”

我使用此代码绑定我的 DropDownList:

<asp:DropDownList ID="DropDownList1" runat="server" DataSourceID="AccessDataSource1" DataTextField="share_amt" DataValueField="ID">
</asp:DropDownList>
<asp:AccessDataSource ID="AccessDataSource1" runat="server" DataFile="~/comm.accdb" SelectCommand="SELECT * FROM [share_amt] ORDER BY [ID]">
</asp:AccessDataSource>

我正在使用 MS Access 2013 数据库和带有 C# 的 ASP.Net。

【问题讨论】:

【参考方案1】:

看来你的问题的症结在于:

    在 Web.config 中,您为名为“comm.accdb”的受密码保护的 Access 数据库创建了一个名为 commconn 的数据连接,但是 您尝试使用 AccessDataSource 来填充 DropDownList,而 AccessDataSource 通过 DataFile= 参数直接引用 Access 数据库; commconn 数据连接与它无关。

此外,MSDN 文章

Retrieving Data Using the AccessDataSource Web Server Control

说:

注意

AccessDataSource 不会连接到受密码保护的 Access 数据库;要从受密码保护的 Access 数据库中检索数据,请使用 SqlDataSource 控件。

因此,对于 App_Data 文件夹中名为“comm.accdb”的受密码保护的 Access 数据库,您需要在 Web.config 中使用类似这样的 &lt;connectionStrings&gt; 条目:

<add name="commConnectionString" 
    connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\comm.accdb;Jet OLEDB:Database Password=xyz@12345"
    providerName="System.Data.OleDb" />

在您的 .aspx 页面上还有类似的内容:

<asp:SqlDataSource 
    ID="SqlDataSource1" runat="server" 
    ConnectionString="<%$ ConnectionStrings:commConnectionString %>" 
    ProviderName="<%$ ConnectionStrings:commConnectionString.ProviderName %>" 
    SelectCommand="SELECT * FROM [share_amt] ORDER BY [ID]">
</asp:SqlDataSource>
<asp:DropDownList ID="DropDownList1" runat="server" 
    DataSourceID="SqlDataSource1" DataTextField="share_amt" DataValueField="ID">
</asp:DropDownList>

【讨论】:

以上是关于使用 C# Web.config 文件连接到 Access 数据库的主要内容,如果未能解决你的问题,请参考以下文章

C#:使用 Microsoft.ACE.OLEDB.12.0 连接到 dbf 文件

c#连接到mysql 的连接字符串怎么写

无法连接到 TFS 并从 C# 获取文件

如何使用服务帐户将 .net 应用程序连接到数据库

C# MVC Web 应用服务连接到 Azure 存储 Blob

怎样用webapi连接到数据库的数据