[英]Connect to Access database using C# Web.config file
我正在使用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;" />
当我运行WebSite时,仅在我的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。
您问题的症结似乎是:
commconn
的数据连接,但是 DataFile=
参数直接引用Access数据库。 commconn
数据连接与此无关。 此外,MSDN文章
使用AccessDataSource Web服务器控件检索数据
说:
注意
AccessDataSource将不会连接到受密码保护的Access数据库。 若要从受密码保护的Access数据库中检索数据,请使用SqlDataSource控件。
因此,对于App_Data文件夹中名为“ comm.accdb”的受密码保护的Access数据库,在Web.config中需要这样的<connectionStrings>
条目:
<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>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.