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. 盘点 DevOps 世界的杰出女性(一)

    [编者按]IT 领域从来不缺乏杰出的女性存在,近日,DevOps.com 主编 Alan Shimel 盘点了 DevOps 领域的杰出女性,首期为六个,本文系 OneAPM 工程师编译整理. 以下为 ...

  2. 初学tornado之MVC版helloworld

    作者:the5fire | 标签: MVC  tornado  | 发布:2012-08-06 2:41 p.m. 文接上篇,看我一个简单的helloworld,虽然觉得这个框架着实精小,但是实际开发 ...

  3. JavaScript Madness: Dynamic Script Loading

    Introduction I've developed some pretty seriously Javascript intensive sites, where the sheer quanti ...

  4. Candy

    There are N children standing in a line. Each child is assigned a rating value. You are giving candi ...

  5. hdu 2736 Surprising Strings(类似哈希,字符串处理)

    重点在判重的方法,嘻嘻 题目 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<string.h> int ...

  6. spark在eclipse上配置

    环境:spark1.4.0,hadoop2.6.0 1.安装好jdk 2.在spark的conf目录下找到spark-env.sh.template,打开,在后面加上 export SCALA_HOM ...

  7. SDUT图结构练习——最小生成树

    http://acm.sdut.edu.cn/sdutoj/showproblem.php?pid=2144&cid=1186 这道题一开始是用prim算法做的,一直错一直错,后来问了帅郭改用 ...

  8. 入门视频采集与处理(BT656简介)

    入门视频采集与处理(BT656简介) http://ticktick.blog.51cto.com/823160/553535 1.  帧的概念(Frame) 一个视频序列是由N个帧组成的,采集图像的 ...

  9. [iOS]iPhone利用<极光推送>实现远程推送

    准备: 1. 一个Xcode工程 2. 开发者账号 3. 真机 (重要,模拟器无法进行远程推送,因为模拟器没有UDID) 第一步:绑定工程的Bundle Identifer 首先当然要登录https: ...

  10. Git教程之版本回退(4)

    现在,我们已经学会了修改文件,然后把修改提交到Git版本库,现在再次修改readme.txt文件如下: