在下面的代码中,我有一个下拉列表,我现在想将数据库中的所有值绑定到我的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>
答案 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()方法。