C# Can';无法在本地连接到SQL Server
我在本地系统上安装了SQL Server 2008,并在.NET 4.5中的C#中编写了以下代码C# Can';无法在本地连接到SQL Server,c#,sql-server,C#,Sql Server,我在本地系统上安装了SQL Server 2008,并在.NET 4.5中的C#中编写了以下代码 private Boolean ConnectDatabase() { if( !this.IsInitialized()) { return false; } else { try { String
private Boolean ConnectDatabase()
{
if( !this.IsInitialized())
{
return false;
}
else
{
try
{
String ConnectionString = "User ID=" + this.DatabaseUsername + ";" +
"Password=" + this.DatabasePassword + ";" +
"Server=" + this.DatabaseHost + "," + this.DatabasePort + ";" +
"Database=" + this.DatabaseResource + ";";
this.DatabaseConnection = new SqlConnection(ConnectionString);
this.DatabaseConnection.Open();
return true;
}
catch (Exception e)
{
return false;
}
}
}
我可以在SSMS中连接到服务器,但使用相同的凭据,我无法在C#中获得连接
连接字符串如下所示:
User ID=sa;Password=******;Server=CPUNAME\MSSQL,1433;Database=DBNAME;
其中,CPUName
、DBName
和**替换为相应的值。我还尝试使用Windows凭据和各种不同的服务器端点,包括我的NB名称、环回IP、静态内部IP等等。防火墙关闭了。服务器上已启用TCP
我得到以下例外情况:
建立与SQL Server的连接时发生与网络相关或特定于实例的错误。找不到服务器或无法访问服务器。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。(提供程序:TCP提供程序,错误:0-无法建立连接,因为目标计算机主动拒绝了它。)
有什么建议吗?您是否在SQL Server配置管理器中启用了协议
看
[编辑]没有关系;我错过了“在服务器上启用TCP”部分;-)
然后问题变成:启用TCP/IP后是否重新启动了SQL server?您需要重新启动SQL服务()才能使这些更改生效
还要验证您是否使用了正确的instancename(您当前正在使用
MSSQL
作为instancename,这可能是SQLExpress
或其他内容)。为了连接,必须运行多个服务,即使是在本地。其中一些(有益的)默认设置为“手动启动”。您可能要检查的服务包括SQL Server、SQL Server代理和分布式事务协调器。是否为sqlexpress数据库?否。SQL Server企业版。服务正在运行。我怀疑您的服务器部分不正确。尝试使用(本地)或仅使用您计算机的名称。我尝试了“localhost”、“127.0.0.1”和“ATLANTIS”(NB-解析);以及一个静态内部IP。正确的实例名称,计算机已经重新启动了四次。并且CPUName解析到正确的主机?(例如,尝试ping CPUName)。还验证了端口实际为1433?你也可能想看看;它提到可能存在一个别名
,导致解析错误的主机。我在configuration manager中验证了端口设置为默认值1433。我还可以向您保证,CPUName已解决。所有SQL相关服务以及DTC都在运行。