1

我想建立数据库连接以从文本字段接收数据并将该数据存储在数据库记录中。为此,到目前为止,我已经尝试过:

我创建了.mdf数据库文件,并创建了名称为 as 的表,Table1并放置了两个文本字段和提交按钮,代码如下: data.aspx

<b>Username:<asp:TextBox ID="TextBox1" runat="server" BackColor="AliceBlue">
</asp:TextBox><br/>
<b>Lastname:<asp:TextBox ID="TextBox2" runat="server" BackColor="AliceBlue">
</asp:TextBox><br/>
<asp:Button ID="Button1" runat="server" Text="Submit" OnClick="SubmitBtn_Click"/>

代码文件如下: data.aspx.cs

using System.Web.Configuration;
using System.Data.SqlClient;
protected void SubmitBtn_Click(object sender, EventArgs e)
{
    string connectionStrings = "Data Source=|SQLEXPRESS;Integrated                       
   Security=True; Connect Timeout=30;User Instance=True;";

    using (SqlConnection sqlConnection = new SqlConnection(connectionStrings))
{
    string insertStatement = "INSERT INTO Table1(column1,column2) 
                              VALUES (@col1, @col2)";
    SqlCommand sqlCommand = new SqlCommand(insertStatement, sqlConnection);
    sqlCommand.Parameters.AddWithValue("@col1", TextBox1.Text);
    sqlCommand.Parameters.AddWithValue("@col2", TextBox2.Text);
    sqlConnection.Open();
    sqlCommand.ExecuteNonQuery();
    try
    {
        sqlConnection.Open();
        sqlCommand.ExecuteNonQuery();

    }
    finally
    {
        sqlConnection.Close();
    }
}


}

我也有如下配置文件来建立连接,代码如下: web.config

<?xml version="1.0"?>
<configuration>
<system.web>
    <compilation debug="true" targetFramework="4.0" />

</system.web>
</configuration>

但是对于该代码,我在单击提交按钮后收到此错误:

建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。(提供者:命名管道提供者,错误:40 - 无法打开与 SQL Server 的连接)

还有一个例外:

System.Data.SqlClient.SqlException:建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。(提供者:命名管道提供者,错误:40 - 无法打开与 SQL Server 的连接)

谁能帮我?

4

2 回答 2

3

检查您的 sql server 实例是否正在运行。转到开始-> SQL Server 配置管理器
并检查您的 sql server 实例是否已启动。

或尝试将您的连接字符串更改为

string connectionStrings = "Data Source=.\SQLEXPRESS;
 Initial Catalog=databaseName Integrated Security=True;";
于 2012-12-21T14:28:13.200 回答
0

引发异常的原因是您的 SQL Server 实例实际上无法访问,或者您的 SQL Server 实例未启动,或者有防火墙阻止了对默认 1433 端口的请求,以远程访问 SQL Server 实例。

阅读文档页面:http: //msdn.microsoft.com/en-us/library/ms177440.aspx

请记住检查您的连接字符串。您编写的连接字符串:

"Data Source=|SQLEXPRESS;Integrated                       
   Security=True; Connect Timeout=30;User Instance=True;"

我认为这是不正确的。如果您要连接到名为SQLEXPRESS的本地第二个 SQL 实例,则这是正确的连接字符串:

"Data Source=.\SQLEXPRESS;Integrated                       
   Security=True; Connect Timeout=30;User Instance=True;"

此外,您正在使用设置Integrated Security=True;。这意味着您正在尝试使用您的 Windows 凭据进行连接。您确定您有权使用您的 Windows 凭据进行连接吗?如果没有,请删除此设置并添加您的用户名和密码,例如在此连接字符串中:

"Data Source=.\SQLEXPRESS;User Id=sa; Password=sa123; Connect Timeout=30;"

阅读这个关于Integrated Security设置使用的有趣问题。

此外,您的SQLEXPRESS实例似乎是一个用户实例。此实例是否启用?

于 2012-12-21T17:09:15.790 回答