0

我对以下连接字符串有疑问:

ConfigurationSettings.AppSettings["connstr"] = "Dsn=dsn_name; 
Trusted_Connection=yes;Uid=usrName;Pwd=some+Password;";

这会引发身份验证失败的异常。问题在于用户密码内的“+”号。

任何人都知道如何转义密码中的特殊字符?

谢谢!

4

1 回答 1

0

关键是,整个事物都充当字符串,Dsn=dsn_name; Trusted_Connection=yes;Uid=usrName;Pwd=some+Password;因此,+充当字符,它不充当连接。

string s = String.Format("Dsn={0}; 
Trusted_Connection=yes;Uid={1};Pwd={2}","dsn_name","usrName",some+"Password") ;

您可以尝试String.Format将字符串值注入适当位置的方法。我假设这some是一个字符串变量。

然后,在代码中赋值 s。

ConfigurationSettings.AppSettings["connstr"] =s;

编辑:1.如果你用 ; 分隔它,你是否尝试将整个东西放在一行中?那么就会出现问题。

2.如果这首先是身份验证失败,您必须检查您的密码用户名是否正确。你必须在之后添加你的密码pwd=

于 2013-02-25T15:49:27.803 回答