如何将具有反斜杠的连接字符串传递给SqlConnection?

use*_*946 6 c# sql sql-server ado.net

我试图使用C#调用存储过程.

我在以下方面遇到问题.

SqlConnection("Server=DB2\XPT;DataBase=SCFHP_EDI_P1;Integrated Security=SSPI");
Run Code Online (Sandbox Code Playgroud)

我无法使用的部分是服务器DB2\XPT.

使用服务器名称需要做DB2\XPT什么?

Rap*_*aus 16

("Server=DB2\\XPT;DataBase=SCFHP_EDI_P1;Integrated Security=SSPI");
Run Code Online (Sandbox Code Playgroud)

要么

(@"Server=DB2\XPT;DataBase=SCFHP_EDI_P1;Integrated Security=SSPI")
Run Code Online (Sandbox Code Playgroud)


小智 6

您需要\ 在连接字符串中转义反斜杠,或者@如果要避免转义字符串中的字符,请使用符号.

在MSDN上阅读更多相关信息.

使用@符号更正语法1:

SqlConnection(@"Server=DB2\XPT;DataBase=SCFHP_EDI_P1;Integrated Security=SSPI");
Run Code Online (Sandbox Code Playgroud)

使用转义修正了语法2:

SqlConnection("Server=DB2\\XPT;DataBase=SCFHP_EDI_P1;Integrated Security=SSPI");
Run Code Online (Sandbox Code Playgroud)