以前在用vs2003开发的时候,有一次,在SQL Server2005中将数据库sa的密码改成了cbmin12&8,用SQL Server Management Studio连接登陆数据库,一切正常。但当我将VS2003项目中Web.config数据库连接字符串配置好后,连接数据库却提示登录失败。
(这个问题vs2008中有所改进,在Web.config中键入&字符,会立刻提示错误警示。)
查找原因很长时间未果,无奈,尝试修改密码,将密码修改成cbmin1278后,测试连接成功。因此怀疑字符&可能就是导致数据库连接失败的原因。经过查询资料发现,&在xml中命名是非法的。而Web.config也正是xml文件,所以,&字符在Web.config中不能作为密码使用的。因此,在设置密码的时候,尽量避免使用这样的字符。这些字符还包括<、>、'、"等。
为了减少出错,使用实体会比较好,而在xml文档中预定好了的对应实体:
< < 小于号
> > 大于号
& & 和
&apons; ' 单引号
" " 双引号