连接到asp.net c#(托管网站)中的数据库(MS Access)
本文关键字:数据库 Access MS 网站 asp net 连接 | 更新日期: 2023-09-27 18:13:22
我有一个托管网站,我需要添加一个带有密码和登录信息的数据库。(MS Access DB(,我尝试了很多,但无法连接到它(在本地机器上它可以工作(。我试图更改连接字符串,但仍然不起作用。数据库位于文件夹App_Data中。以下是我在Login.aspx
页面中键入的内容:
OleDbConnection con = new OleDbConnection();
con.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source="
+ Server.MapPath("~''App_Data''WebSiteDatabase.accdb");
con.Open();
这不起作用。我需要更改什么?我已经把我的网站放在some.com 上
是否检查了SOMEE上的帮助页面以连接到访问数据库?
引用Some.com帮助:
使用无DSN连接连接到MS访问数据库
仅Doka提供与Access数据库的无DSN连接,因为它们速度要快得多,而且没有可能的名称冲突。大部分问题在于选择正确的连接字符串。下面是一个例子到MS Access数据库的测试连接字符串的数目:
我们假设您的数据库位于"database"子文件夹中,并且它的名称为"TestDB.mdb"。
你必须使用Server.MapPath(“Database'TestDB.mdb”)
以获得物理数据库的位置。
所以连接字符串应该是:
"PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=" & Server.MapPath("Database'TestDB.mdb")
以及利用它的方法:
OleDbConnection conn = null;
OleDbDataReader reader = null;
try
{
conn = new OleDbConnection(
"Provider=Microsoft.Jet.OLEDB.4.0; " +
"Data Source=" + Server.MapPath("Database/TestDB.mdb"));
conn.Open();
OleDbCommand cmd =
new OleDbCommand("Select * FROM Table1", conn);
reader = cmd.ExecuteReader();
datagrid.DataSource = reader;
datagrid.DataBind();
}
// catch (Exception e)
// {
// Response.Write(e.Message);
// Response.End();
// }
finally
{
if (reader != null) reader.Close();
if (conn != null) conn.Close();
}