userid = testhtml
password = aps'";web
那么链接字符串的写法为:数据库
Provider=SQLOLEDB.1;Password="aps'"";";Persist Security Info=True;User ID=spooltest;Initial Catalog=MyBeer20G;Data Source=HI4-SV09安全
若是链接字符串写在web.config(xml文件)中,只要把双引号做html转义(替换成"e;),程序不须要作任何改动,链接字符串改成:ide
Provider=SQLOLEDB.1;Password="e;aps'"e;"e;;"e;;Persist Security Info=True;User ID=spooltest;Initial Catalog=MyBeer20G;Data Source=HI4-SV09工具
若是链接字符串的密码中存在双引号,使用framework1.1时切记打上framework1.1的pacth,不然System.Data.SqlClient.SqlConnent类的链接字符串不支持双引号。
若是登陆或密码包含如下字符:[]{}(),;?*! @。则使用SQL Query Analyer不能链接数据库
测试
Web.config中链接字符串的解决方案以下ui 1.直接在Web.config中写明文链接字符串加密 这种方式优势:spa a.无需使用第三方工具 b.数据库链接一目了然,容易维护 缺点: a.用户必须了解字符串生成的一个特殊规则,即:若是关键字所对应的值含有双引号, 则必须成对出现。
b.另外用户必须知道5个XML转义字符(若是链接字符串中含有特殊字符)
例子: <add key="ConnectionString" value="server=ServerName;database=DBName;uid=test;pwd="a-=\;',./:""<>?@&b";" /> 数据库链接: server=ServerName;database=DBName;uid=test;pwd="a-=\;',./:""<>?@&b"; 数据库密码:a-=\;',./:"<>?@&b (只有一个双引号) (插曲:鉴于大多用户可能会忘记这些规则, 2.在Web.config维护加密过的链接字符串。 这种方式优势: a.数据链接字符串保密性好,安全性高 b.无需了解过多的XML,数据库链接字符串知识 缺点 a.不容易维护 b.必须使用第三方工具,加密解密 |