使用转义字符解析 app.config 中的字符串
Parse string from app.config with characters that are escaped
这是一个非常愚蠢的问题,但我现在对此感到非常沮丧。
我现在有一个 app.config 存储用户凭据,用于 SQL 服务器。
所以用户名是reader,密码是"abcdefg"。
当我现在尝试执行插入时,我得到了这个异常:
初始化字符串的格式不符合从索引 138 开始的规范。
当我将凭据更改为没有任何已转义的特殊字符的用户时,它就像一个魅力。
有人知道它是什么吗?
在调试会话期间混合的连接字符串是:
Data Source=MACHINE\SQLSERVER;Initial Catalog=DbName;Connect Timeout=300;Application Name=application;User ID=reader;Password=\"abcdefg\"
您可以使用 "
对密码字段中的双引号进行转义
所以 connectionStrings 看起来像这样:
<connectionStrings>
<add connectionString="Data Source=MACHINE\SQLSERVER;Initial Catalog=DbName;Connect Timeout=300;Application Name=application;User ID=reader;Password="abcdefg"" name="CS"/>
</connectionStrings>
可以使用xml字符转义。例如 space 是
您可以通过这种方式转义任何角色。一般形式是
hhhh;
要么
nnnn;
hhhh 是十六进制,nnnn 是十进制。
这里还列出了'shortcuts':https://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references
这是一个非常愚蠢的问题,但我现在对此感到非常沮丧。
我现在有一个 app.config 存储用户凭据,用于 SQL 服务器。
所以用户名是reader,密码是"abcdefg"。
当我现在尝试执行插入时,我得到了这个异常:
初始化字符串的格式不符合从索引 138 开始的规范。
当我将凭据更改为没有任何已转义的特殊字符的用户时,它就像一个魅力。
有人知道它是什么吗?
在调试会话期间混合的连接字符串是:
Data Source=MACHINE\SQLSERVER;Initial Catalog=DbName;Connect Timeout=300;Application Name=application;User ID=reader;Password=\"abcdefg\"
您可以使用 "
所以 connectionStrings 看起来像这样:
<connectionStrings>
<add connectionString="Data Source=MACHINE\SQLSERVER;Initial Catalog=DbName;Connect Timeout=300;Application Name=application;User ID=reader;Password="abcdefg"" name="CS"/>
</connectionStrings>
可以使用xml字符转义。例如 space 是 您可以通过这种方式转义任何角色。一般形式是 hhhh; 要么 nnnn; hhhh 是十六进制,nnnn 是十进制。
这里还列出了'shortcuts':https://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references