Web.config 数据库连接字符串密码中的一个字符导致连接数据库失败

作者:想壮的瘦人 来源:博客园 日期:2009-7-1

以前在用 VS 2003 开发的时候,有一次,在 SQL Server 2005 中将数据库 sa 的密码改成了 cbmin12&8,用 SQL Server Management Studio 连接登陆数据库,一切正常。但当我将 VS 2003 项目中 Web.config 数据库连接字符串配置好后,连接数据库却提示登录失败。

(这个问题 VS 2008 中有所改进,在 Web.config 中键入 & 字符,会立刻提示错误警示。)

查找原因很长时间未果,无奈,尝试修改密码,将密码修改成 cbmin1278 后,测试连接成功。因此怀疑字符 & 可能就是导致数据库连接失败的原因。经过查询资料发现,& 在 XML 中命名是非法的。而 Web.config 也正是 XML 文件,所以,& 字符在 Web.config 中不能作为密码使用的。因此,在设置密码的时候,尽量避免使用这样的字符。这些字符还包括 <、>、'、" 等。

为了减少出错,使用实体会比较好,而在 XML 文档中预定好了的对应实体:

&lt;          <             小于号

&gt;          >             大于号

&amp;         &             和

&apons;       '             单引号

&quot;        "             双引号

相关阅读

相关文章