我有一个托管网站,我需要添加一个包含密码和登录信息的数据库。 (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();
这不起作用。我需要改变什么?我把我的网站放在somee.com上
答案 0 :(得分:3)
您是否检查了SOMEE上的帮助页面以连接到访问数据库?
来自Somee.com的帮助:
使用无DSN连接
连接到MS访问数据库 仅限多卡 提供与Access数据库的无DSN连接,因为它们是 更快,没有可能的名称冲突。大部分的 问题在于选择正确的连接字符串。这是一个例子 已测试的连接字符串到MS Access数据库:
我们假设您的数据库位于“数据库”子文件夹中,其名称为“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();
}