以分号结尾的SQL Server 2008密码

以分号结尾的SQL Server 2008密码,sql,sql-server-2008,Sql,Sql Server 2008,假设我有一个如下的密码:password 如何让它以分号作为最后一个字符。密码可以在SSMS和ODBC中使用,但不能与连接字符串一起使用。我尝试过“,但似乎不起作用 <add name="DbConn" connectionString="Data Source=LOCALHOST;Database=MYDB;Trusted_Connection=no;User Id=myuser;Password=password;" providerName="System.Data.SqlClien

假设我有一个如下的密码:password

如何让它以分号作为最后一个字符。密码可以在SSMS和ODBC中使用,但不能与连接字符串一起使用。我尝试过
,但似乎不起作用

<add name="DbConn" connectionString="Data Source=LOCALHOST;Database=MYDB;Trusted_Connection=no;User Id=myuser;Password=password;" providerName="System.Data.SqlClient" />


这是针对ASP.NET web应用程序的。据我所知,这是不可能的。更新:这是可能的!

要包含包含分号、单引号字符或双引号字符的值,该值必须用双引号括起来

发件人:


基本上你有连接字符串的所有转义过程。

用单引号将你的密码封装起来。例如,给定密码
iloveachallenge;
你的连接字符串应该包含
password='iloveachallenge;';

我正在使用以下代码连接到SQL Server 2008 R2

  var sqlConnection = new SqlConnection()
            {
                ConnectionString = "Server=DT2719MOD;Database=abs2;User Id=TestUserLogon;Password='iloveachallenge;';"

            };
        sqlConnection.Open();
        Console.WriteLine(sqlConnection.State);
        sqlConnection.Close();
编辑: 还尝试使用您拥有的连接字符串,它在我的机器上工作

ConnectionString="Data Source=DT2719MOD;Database=abs2;Trusted_Connection=no;User Id=TestUserLogon;Password='iloveachallenge;';" 

是的,这是可能的。答案在本帖中皮特的答案中给出:

基本上,您需要在用户名/密码字段周围加上单引号,而不是要转义的字符,这就是我出错的地方

以皮特为例:

initial catalog=myDB;UserId=MyUser;Password=abc;123;multipleactiveresultsets=True;
需要成为:

initial catalog=myDB;UserId='MyUser';Password='abc;123';multipleactiveresultsets=True;

感谢您的回复。我创建了一个新的web应用程序,并尝试了您的解决方案,它成功了。我的主应用程序中的同一个用户/pw不起作用,所以现在我需要弄清楚那里发生了什么。但现在我知道这是可能的。如果您有一个
stringconnection
,使用
元素而不是属性,则此方法有效。