• 【转载】两个Web.config中连接字符串中特殊字符解决方案


    userid =  test

    password = aps'";

    那么连接字符串的写法为:

    Provider=SQLOLEDB.1;Password="aps'"";";Persist Security Info=True;User ID=spooltest;Initial Catalog=MyBeer20G;Data Source=HI4-SV09

    如果连接字符串写在web.configxml文件)中,只要把双引号作html转义(替换成&quote;),程序不需要做任何改动,连接字符串改为:

    Provider=SQLOLEDB.1;Password=&quote;aps'&quote;&quote;;&quote;;Persist Security Info=True;User ID=spooltest;Initial Catalog=MyBeer20G;Data Source=HI4-SV09


    如果连接字符串的密码中存在双引号,使用framework1.1时切记打上framework1.1pacth,否则System.Data.SqlClient.SqlConnent类的连接字符串不支持双引号。

    如果登录或密码包含以下字符[]{}(),;?*! @则使用SQL Query Analyer不能连接数据库

    Web.config中连接字符串的解决方案如下

    1.直接在Web.config中写明文连接字符串

    这种方式优点:

    a.无需使用第三方工具

    b.数据库连接一目了然,容易维护

    缺点:

    a.用户必须了解字符串生成的一个特殊规则,即:如果关键字所对应的值含有双引号,

    则必须成对出现。

     

    b.另外用户必须知道5XML转义字符(如果连接字符串中含有特殊字符)

    <

    <

    小于号

    &gt;

    >

    大于号

    &amp;

    &

    &apos;

    '

    单引号

    &quot;

    "

    双引号

    例子:

    <add key="ConnectionString" value="server=ServerName;database=DBName;uid=test;pwd=&quot;a-=;',./:&quot;&quot;&lt;&gt;?@&amp;b&quot;;" />

    数据库连接:

    server=ServerName;database=DBName;uid=test;pwd="a-=;',./:""<>?@&b";

    数据库密码:a-=;',./:"<>?@&b (只有一个双引号)

    (插曲:鉴于大多用户可能会忘记这些规则,
    所以建议把这些规则写到Web.config注释中,
    并提供测试页面,检测数据库连接字符串是否能连接数据库,
    并提供非常友好的提示)

    2.Web.config维护加密过的连接字符串。

    这种方式优点:

    a.数据连接字符串保密性好,安全性高

    b.无需了解过多的XML,数据库连接字符串知识

    缺点

    a.不容易维护

    b.必须使用第三方工具,加密解密



  • 相关阅读:
    vscode settings
    AutomaticPrefetchPlugin
    echarts 文字超长换行
    webpack篇(三):serve启动 打印台友好提示
    webpack篇(二):webpack 5 (变化)
    webpack篇(一):webpack 5 热更新体验
    面试(保存一些面试相关的网址链接,方便之后复习)
    路由传递参数的常见的两种形式
    组件缓存注意事项 ---keep-alive
    从css属性和布局来说明一下,行类元素和行类块元素和块元素的区别
  • 原文地址:https://www.cnblogs.com/heye/p/3699570.html
Copyright © 2020-2023  润新知