C# Can';t连接到sql server asp.net c的命名实例#

C# Can';t连接到sql server asp.net c的命名实例#,c#,sql,asp.net,sql-server,C#,Sql,Asp.net,Sql Server,我无法通过ASP.NET连接到sql server的命名实例,因为它不是默认实例。 我的服务器名是NAMEOFSERVER\NAMEOFINSTANCE 如果我尝试连接到服务器的默认实例,它就会工作 我使用以下连接字符串: connection_string = "Data Source=" + servername + ";Initial Catalog=" + db_catalog + ";User Id=" + user + ";Password=" + password + ";pers

我无法通过ASP.NET连接到sql server的命名实例,因为它不是默认实例。 我的服务器名是NAMEOFSERVER\NAMEOFINSTANCE

如果我尝试连接到服务器的默认实例,它就会工作

我使用以下连接字符串:

connection_string = "Data Source=" + servername + ";Initial Catalog=" + db_catalog + ";User Id=" + user + ";Password=" + password + ";persist security info=False;Trusted_Connection=No;Connection Timeout=1000"

SQL Server浏览器服务正在运行。

请确保您的连接字符串具有上述模式:

var connectionString = $"Data Source=myServerName\\myInstanceName;Database=myDataBase;User Id=myUsername; Password=myPassword;",
此外,请确保您可以通过SQL Management Studio进行连接,因为SQL Server实例可能会限制某些用户的访问(请确保您连接到希望应用程序使用的相同用户名+密码)


编辑

如果您用于连接的用户不是Windows帐户的一部分,请打开您的实例安全配置,并确保启用了混合模式


您可能需要检查变量“servername”是否包含双反斜杠。这是必需的,因为反斜杠是转义字符

connection_string = "Data Source=" + servername.Replace("\\", "\\\\") + ";Initial Catalog=" + db_catalog + ";User Id=" + user + ";Password=" + password + ";persist security info=False;Trusted_Connection=No;Connection Timeout=1000"

您收到的错误消息是什么?是否可以通过sql management studio连接到它?是的,通过sql management studio连接工作正常。这不是连接字符串,而是字符串连接。调试您的代码并检查
连接\u字符串是否包含您期望的内容。例如,您可能有一个
\n
转义序列。我记录了连接\u字符串,它包含我期望的内容。奇怪的是:同一服务器上的另一个命名实例具有相同的连接字符串(只有servername中的实例名称不同),并且连接在那里工作。@CodeCaster谢谢,我更新了我的答案。我的目的是确保模式正确,包括斜线。我还更新了一些其他提示。我的变量包含一个反斜杠:“nameofmyserver\nameofmyinstance”-这是一个问题吗?是否尝试了我添加的ConnectionString?在这里,反斜杠转换为双反斜杠。我的建议是,当您这样尝试时,它会起作用。在源代码中指定字符串时,需要转义反斜杠。实际字符串中不需要双反斜杠。