userid =  test

password = aps'";

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

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

如果连接字符串写在web.config(xml文件)中,只要把双引号作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.1的pacth,否则System.Data.SqlClient.SqlConnent类的连接字符串不支持双引号。

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

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

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

这种方式优点:

a.无需使用第三方工具

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

缺点:

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

则必须成对出现。

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

<

<

小于号

&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.必须使用第三方工具,加密解密

【转载】两个Web.config中连接字符串中特殊字符解决方案的更多相关文章

  1. web.config中连接字符串的读写和加密解密

    转载:https://www.cnblogs.com/shuai/articles/2248703.html 1.先来看看如何在web.config中写入数据库连接字符串.打开web.config文件 ...

  2. (译)利用ASP.NET加密和解密Web.config中连接字符串

    介绍 这篇文章我将介绍如何利用ASP.NET来加密和解密Web.config中连接字符串 背景描述 在以前的博客中,我写了许多关于介绍 Asp.net, Gridview, SQL Server, A ...

  3. 利用ASP.NET加密和解密Web.config中连接字符串

    摘自:博客园 介绍 这篇文章我将介绍如何利用ASP.NET来加密和解密Web.config中连接字符串 背景描述 在以前的博客中,我写了许多关于介绍 Asp.net, Gridview, SQL Se ...

  4. MVC 项目中为什么会有两个web.config

    我们对MVC 并不陌生, 在创建MVC项目时,总会发现,在工程目录 中有两个 web.config 文件,一个是在工程的根目录下,一是在 views 下,两个web.config 中的内容也不尽相同, ...

  5. web.config connectionStrings 数据库连接字符串的解释

    先来看一下默认的连接SQL Server数据库配置<connectionStrings>   <add name="LocalSqlServer" connect ...

  6. 连接字符串中Min Pool Size的理解是错误,超时时间已到,但是尚未从池中获取连接。出现这种情况可能是因为所有池连接均在使用,并且达到了最大池大小。

    Min Pool Size的理解是错误的 假设我们在一个ASP.NET应用程序的连接字符串中将Min Pool Size设置为30: <add name="cnblogs" ...

  7. 学习Linux shell脚本中连接字符串的方法

    这篇文章主要介绍了Linux shell脚本中连接字符串的方法,如果想要在变量后面添加一个字符,可以用一下方法: 代码如下: $value1=home $value2=${value1}"= ...

  8. Oracle数据库中,在SQL语句中连接字符串的方法是哪个?(选择1项)

    Oracle数据库中,在SQL语句中连接字符串的方法是哪个?(选择1项) A.cat B.concat C.join D.+ 解答:B

  9. db2 jdbc连接字符串中 指定currentSchema

    场景:连接DB2数据库的,jdbc的连接字符串中没有给当前的数据源用户指定默认的schema,而当前的数据源用户下可能有多个schema,则会使用数据源用户默认的schema. 例如:admin用户的 ...

随机推荐

  1. uva 10994

    一开始想法太简单  错了好多遍 #include <cstdio> #include <cstdlib> #include <cmath> #include < ...

  2. spring mvc 注解 annot失效

    如果带上事务,那么用annotation方式的事务注解和bean配置,事务会失效,要将service bean配置到xml文件中才行 这个问题是由于问答上有解决方案 引用 这个问题很经典了 在主容器中 ...

  3. 果盟广告SDK

    // // GuomobWallView.h // GuoMobWallSample // // Created by keyrun on 14-1-21. // Copyright (c) 2014 ...

  4. 管理Java垃圾回收的五个建议

    [编者按]本文作者是Niv Steingarten,是Takipi 的联合创始人,热衷于编写优雅简洁的代码.作者通过对垃圾收集器的介绍和梳理,在管理垃圾回收方面提出了五个建议,降低收集器开销,帮助大家 ...

  5. Unity3d修改FBX文件的动画名方法

    问题描述:FBX文件导入Unity3d后的动画名字一般都是 “Take 001”并且无法修改!如何修改它呢? 解决方法:解决方法其实很简单,只要你按照Unity3d的FBX文件命名规则,压根就不会存在 ...

  6. **【ci框架】PHP的CI框架集成Smarty的最佳方式

    因为CI自带的模板功能不是很方便,所以大家普遍采用集成Smarty的方式来弥补CI这方面的不足. 本人在网上看了不少CI集成Smarty的教程,包括咱们CI论坛里面的一个精华帖子 http://cod ...

  7. hdu 4579 Random Walk 概率DP

    思路:由于m非常小,只有5.所以用dp[i]表示从位置i出发到达n的期望步数. 那么dp[n] = 0 dp[i] = sigma(dp[i + j] * p (i , i + j)) + 1 .   ...

  8. lintcode:Palindrome Partitioning 分割回文串

    题目: 分割回文串 给定一个字符串s,将s分割成一些子串,使每个子串都是回文串. 返回s所有可能的回文串分割方案. 样例 给出 s = "aab",返回 [ ["aa&q ...

  9. go学习资料及优秀博文

    相关书籍: Go Web编程 http://blog.csdn.net/broadview2006/article/details/8875097 优秀博文: 系统编程语言明日之星—Go(http:/ ...

  10. linux sort命令学习

    linux sort命令以行为单位对文本文件进行排序. 接下来我们会以/tmp/sort_test.txt这个文本文件为例对sort命令的用法进行说明. sh-# cat /tmp/sort_test ...