SQL Server 2008密码以分号结尾

时间:2014-04-11 13:35:27

标签: sql sql-server-2008

假设我有一个如下所示的密码:密码;

如何使用分号作为最后一个字符。密码适用于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应用程序。据我所知,这是不可能的。更新:有可能!

3 个答案:

答案 0 :(得分:18)

将您的密码封装在单引号中。例如如果密码为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;';" 

答案 1 :(得分:5)

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

来自:http://msdn.microsoft.com/en-us/library/windows/desktop/ms722656(v=vs.85).aspx

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

答案 2 :(得分:1)

是的,这是可能的。答案在Pete的答案中给出:Escape ;(semicolon) in odbc connection string in app.config file

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

窃取Pete的例子:

pscp -sftp -pw passwd c:\filedump\* user@host:/Outbox/
mv c:\filedump\* c:\backup\*

需要成为:

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