连接到asp.net c#(托管网站)中的数据库(MS Access)



我有一个托管网站,我需要添加一个带有密码和登录信息的数据库。(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(“DatabaseTestDB.mdb”)以获得物理数据库的位置。

所以连接字符串应该是:

"PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=" & Server.MapPath("DatabaseTestDB.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();
}

最新更新