Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
连接到asp.net c#(托管网站)中的数据库(MS Access)_C#_Asp.net_Ms Access - Fatal编程技术网

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

连接到asp.net c#(托管网站)中的数据库(MS Access),c#,asp.net,ms-access,C#,Asp.net,Ms Access,我有一个托管网站,我需要添加一个带有密码和登录信息的数据库。(MS Access DB),我尝试了很多,但无法与它连接(在本地机器上可以正常工作)。我试图更改连接字符串,但仍然不起作用。数据库位于文件夹App_Data中。以下是我在Login.aspx页面中键入的内容: OleDbConnection con = new OleDbConnection(); con.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Sourc

我有一个托管网站,我需要添加一个带有密码和登录信息的数据库。(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上

您是否查看了somee上的帮助页面以连接到access数据库

引用Somee.com的帮助:

使用无DSN连接连接到MS access数据库
仅限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();
}

您是否查看了SOMEE上的帮助页面以连接到access数据库

引用Somee.com的帮助:

使用无DSN连接连接到MS access数据库
仅限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();
}

为什么不使用附带的SQL Express数据库?这是一项教育任务……服务器上是否安装了“程序”访问权限?此外,每当我看到有人使用网站访问权限时,我都会畏缩。请不要这样做。他们有这样的功能,但我不知道应该在哪里编写itDump access—它不适用于托管的web环境。改用SQL CE 4-因为这就是为什么不使用附带的SQL Express数据库的原因?这是一项教育任务…服务器上是否安装了“程序”访问权限?此外,每当我看到有人使用网站访问权限时,我都会畏缩。请不要这样做。他们有这样的功能,但我不知道应该在哪里编写itDump access—它不适用于托管的web环境。改用SQLCE4,因为我看到了它的用途。但是所有VS-sayes都不能用在字符串中,而且都是read,这意味着什么?什么不能用在字符串中?所有读取的内容?我试图更改con.ConnectionString=@“Provider=Microsoft.ACE.OLEDB.12.0;数据源=“+Server.MapPath”(“~\\App\u Data\\WebSiteDatabase.accdb”);“PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=“&Server.MapPath”(“App\u DATA\WebSiteDatabase.accdb”)并在教程后显示errorsTry。并删除密码,直到它正常工作,然后在确定可以连接后添加密码。欢迎加入2k俱乐部。恭喜你,我看到了。但是所有VS-sayes都不能用在字符串中,而且都是read,这意味着什么?什么不能用在字符串中?所有读取的内容?我试图更改con.ConnectionString=@“Provider=Microsoft.ACE.OLEDB.12.0;数据源=“+Server.MapPath”(“~\\App\u Data\\WebSiteDatabase.accdb”);“PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=“&Server.MapPath”(“App\u DATA\WebSiteDatabase.accdb”)并在教程后显示errorsTry。并删除密码,直到它正常工作,然后在确定可以连接后添加密码。欢迎加入2k俱乐部。祝贺