【发布时间】:2013-09-26 14:37:06
【问题描述】:
我正在尝试调试一个 ASP.NET 页面我试图连接到本地 SQLServer DB,当我使用的连接字符串具有本地计算机的名称时,它可以正常工作,如下所示
string ConnectionString = "Integrated Security=SSPI;" +
"Initial Catalog=ARTICLEDB;" +
"Data Source=MYMACHINENAME\\MYSQLSVR;";
...稍后...
conn = new SqlConnection(ConnectionString);
// Open the connection
try
{
if (conn.State != ConnectionState.Open)
{
conn.Open();
//don't work here when using ##.##.##.##\MYSQLSVR as datasource
}
return true;
}
catch
{
return false;
}
当我使用 IP 机器作为 datadource 的值时,例如:###.###.###.###\\\MYSQLSVR 我得到一个异常说:
发生网络相关或特定于实例的错误,同时 建立与 SQL Server 的连接。找不到服务器或 无法访问。验证实例名称是否正确,并且 SQL Server 配置为允许远程连接。 (提供者:SQL 网络接口,错误:28 - 服务器不支持请求 协议)
此问题源于尝试从 IIS 运行站点并在未打开连接时遇到类似错误。
如何在连接字符串中引用 DB 以便 IIS 可以找到 DB?
我也尝试在 IIS 中为该站点添加连接字符串,但不确定如何从我的项目/站点中引用该 IIS 连接字符串
【问题讨论】:
-
您的端口可能被阻止。检查您的防火墙设置。试试
Data Source=localhost。 -
您是否在混合模式下配置 SQL Server 身份验证?
标签: c# asp.net sql-server iis connection-string