用户代码未对SqlConnection进行处理

时间:2014-03-18 12:12:31

标签: asp.net sql sql-server

在下面的代码中,我有一个下拉列表,我现在想将数据库中的所有值绑定到我的dropdownlist。但是我收到了这个错误:

  

发生与网络相关或特定于实例的错误   建立与SQL Server的连接。找不到服务器或   无法访问。验证实例名称是否正确   SQL Server配置为允许远程连接。

请帮我纠正这个问题。

void getdata()
{
    string strConnection = "Data Source=GMAS-PC3;Initial Catalog=FormMaster8;User Id=sa;Password=sa123;";
    SqlConnection con = new SqlConnection(strConnection);
    string com = "Select BatchName from BatchTable";
    SqlDataAdapter adpt = new SqlDataAdapter(com, con);
    DataTable dt = new DataTable();
    adpt.Fill(dt);//error occur
    cbProject.DataSource = dt;
    cbProject.DataBind();
    cbProject.DataTextField = "BatchName";
    cbProject.DataValueField = "BatchTable";
    cbProject.DataBind();
 }

Asp.net

<asp:DropDownList ID="cbProject" runat="server">
</asp:DropDownList>

3 个答案:

答案 0 :(得分:0)

确保已打开防火墙以允许与数据库服务器的外部连接。有关如何为您的操作系统执行此操作,请参阅this Microsoft link

sql server数据库实例的默认端口是1433,因此您必须确保对传入连接打开。

答案 1 :(得分:0)

尝试UDL生成正确的连接字符串并对其进行测试 http://jcluthedevelopment.com/tutorials/udl-trick-for-getting-a-connection-string/

答案 2 :(得分:0)

我见过类似的地方,代码中某处出现错误,你没有将连接放在Try ... Catch ... Finally块中,并关闭Finally块中的连接。

该错误导致SQL Server上的僵尸连接未过期。检查您的SQL Server活动监视器是否有比您在应用程序中预期更多的连接。

您也没有在连接上调用Open()方法。