无法连接到asp.net中的SQL Server数据库

时间:2012-11-01 19:35:52

标签: asp.net sql-server

我正在使用configurationmanager.appsetting,我在cn.Open行收到错误。

网络表单代码如下:

public partial class admin_CheckDocuments : System.Web.UI.Page
{
    SqlConnection cn = new SqlConnection(ConfigurationManager.AppSettings["con"]);
    string sql;
    string str;

    protected void Page_Load(object sender, EventArgs e)
    {
        cn.Open();
        str = Request.QueryString["taxid"];

        if (!IsPostBack)
        {
            filldata();
        }
    }

web.config是:

<configuration>
    <connectionStrings/>
    <appSettings>
       <add key="con" 
            value="Data Source=EGGG\SKDB;Initial Catalog=tax;Integrated Security=true"/>
    </appSettings>

错误是

  

发生与网络相关或特定于实例的错误   建立与SQL Server的连接。找不到服务器或   无法访问。验证实例名称是否正确   SQL Server配置为允许远程连接。 (提供者:SQL   网络接口,错误:26 - 查找服务器/实例时出错   指定)

2 个答案:

答案 0 :(得分:5)

抛出此问题的原因可能是服务器名称错误,禁用了远程连接 和防火墙阻止。

您能否按照以下步骤解决此问题?

·检查可以访问运行SQL Server的服务器。您可以使用ping命令来测试它。例如,ping ** 或ping 。 ping命令可能被防火墙阻止,请确保防火墙中已启用ICMP。 More info **

·选择合适的协议

·根据您选择使用的协议相应地配置Windows防火墙。有关如何配置Windows防火墙以允许SQL Server的详细信息,请查看More info

·启用SQL Server浏览器服务

如果满足以下条件,则需要启用SQL Server Browser Services:

1.SQL Server没有侦听默认的1433端口或者没有使用默认管道名称\。\ pipe \ sql \ query;

2.连接字符串中未指定相应的TCP端口或管道名称(例如Srv1 \ SQL2008,1500)。

如果您已启用SQL Server Browser Services,则仍需要打开Windows防火墙中浏览器服务使用的UDP 1434端口。

如果问题得到解决,请告诉我

答案 1 :(得分:2)

我在你的连接字符串中注意到了这一点:

  

Integrated Security = true

这意味着您的代码将尝试使用运行asp.net进程的服务器帐户的凭据进行连接。这通常是本地帐户,如网络服务,本地服务或IIS_IUSRS。您可以更改此设置,但默认情况下,您甚至无权登录数据库。