【问题标题】:My site is not accessible to the DB .mdfDB .mdf 无法访问我的网站
【发布时间】:2015-03-01 21:28:27
【问题描述】:

我的 asp.net 没有访问 .mdf 数据库文件。

本地站点可以工作,但是当您附加服务器应用程序时,当您单击写入数据库的按钮 (ADD/MYORDERS)(访问链接)时,该应用程序已关闭。 我的网站托管在HERE

这是连接配置:

<add name="ConnectionString" 
     connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;Connect Timeout=30"
     providerName="System.Data.SqlClient" />

这是按钮的代码

protected void IB_ADDPred0_Click(object sender, ImageClickEventArgs e)
{
    SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
    con.Open();

    string insCmd = "Insert into Orders (RoomNo, ProductNo, ProductName, Price) values (@RoomNo, @ProductNo, @ProductName, @Price)";

    SqlCommand addOrder = new SqlCommand(insCmd, con);

    addOrder.Parameters.AddWithValue("@RoomNo", computer_name[0].ToString());
    addOrder.Parameters.AddWithValue("@ProductNo", ProductNo0.Text);
    addOrder.Parameters.AddWithValue("@ProductName", NamePred0.Text);
    addOrder.Parameters.AddWithValue("@Price", PricePred0.Text);

    try
    {
        addOrder.ExecuteNonQuery();
        con.Close();
    }
    catch (Exception er)
    {
        Response.Write("Error. Try again.");
    }
}

Web应用在本地测试正常,但服务器问题。

这是我的 web.config:

<configuration>
  <system.web>
    <compilation debug="true" targetFramework="4.5" />
    <httpRuntime targetFramework="4.5" />
    <sessionState cookieless="true" regenerateExpiredSessionId="true" />
    <customErrors mode="Off"/>
  </system.web>
  <connectionStrings>
    <add name="ConnectionString" connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;Connect Timeout=30" providerName="System.Data.SqlClient" />
  </connectionStrings>
</configuration>

【问题讨论】:

  • 您应该查看Can we stop using AddWithValue() already? 并停止使用.AddWithValue() - 它可能会导致意想不到和令人惊讶的结果...
  • LocalDB 是一种仅限开发解决方案 - 它旨在用于生产环境,并且不允许远程连接.您需要至少使用 SQL Server Express(并启用远程连接,因为这些默认情况下是 OFF对于 Express) 来托管您的数据库
  • 应用程序崩溃你有比这更有意义的信息吗?例如,您可以打印异常消息而不是写 Error Try Again 吗?
  • Price is INT 可以做些什么来不适应整个应用程序吗?
  • 这是我的 web.config &lt;configuration&gt; &lt;system.web&gt; &lt;compilation debug="true" targetFramework="4.5" /&gt; &lt;httpRuntime targetFramework="4.5" /&gt; &lt;sessionState cookieless="true" regenerateExpiredSessionId="true" /&gt; &lt;customErrors mode="Off"/&gt; &lt;/system.web&gt; &lt;connectionStrings&gt; &lt;add name="ConnectionString" connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;Connect Timeout=30" providerName="System.Data.SqlClient" /&gt; &lt;/connectionStrings&gt;

标签: c# asp.net ado.net mdf


【解决方案1】:

如果创建一个 Web 托管新数据库,然后 Visual Studio 只需连接到它,问题就会解决。

从 DDL 当前库下载它并设置新的以节省时间。

您可能使用 Windows 托管站点。如果您创建一个旧的newtransfer,您也可以这样做。

【讨论】:

    猜你喜欢
    • 2012-11-23
    • 1970-01-01
    • 2015-07-31
    • 2017-08-26
    • 1970-01-01
    • 2014-05-14
    • 1970-01-01
    • 1970-01-01
    • 2015-06-15
    相关资源
    最近更新 更多