繁体   English   中英

连接字符串中的非字母数字(例如分号)

[英]non-alphanumeric (ex semicolon) in connectionstring

我已经在网上搜索了一个解决我问题的简单方法,但是我觉得很奇怪,没有人想出一种方法来“如果密码包含非字母数字字符,则获得正确的连接字符串”。

我的问题:
我有一个用户,其密码包含以下一个或多个字符:

` ~ ! @ # $ % ^ & * ( ) _ + - = { } | \ : " ; ' < > ? , . /

由于连接字符串的格式为“ KEY = VALUE; KEY2 = VALUE2”,因此,如果密码中当然包含分号,那将是一个问题。

所以我做了一些研究,发现了这些“连接字符串规则”

  • 除空格或引号外的所有空白字符均被忽略

  • 空字符虽然会影响连接池机制,但池连接必须具有完全相同的连接字符串

  • 如果分号(;)是值的一部分,则必须用引号(“)分隔

  • 如果值以双引号(“)开头,请使用单引号(')

  • 相反,如果值以单引号(')开头,则使用双引号(“)

  • 不支持转义序列

  • 值类型不相关

  • 名称是大小写

  • 如果KEYWORD = VALUE对在连接字符串中出现多次,则使用与最后一次出现相关的值

  • 但是,如果provider关键字在字符串中多次出现,则使用第一次出现。

  • 如果关键字包含等号(=),则必须在其前面加上其他等号以表明它是关键字的一部分。

  • 如果值具有前导或尾随空格,则必须将其用单引号或双引号引起来,即关键字=“ value”,否则空格将被删除。

然后,我读了一堆线程,人们试图在其“格式连接字符串方法”中实现上述内容,但是当他们开始时,似乎发现了更多的情况。

我的问题是:

是否有人在连接字符串中使用了“ FormatConnectionstring”方法?或者我在这里做的事情完全错误,而我的问题确实存在于其他地方吗?

使用SqlConnectionStringBuilder ; 之一:

  • 设置属性,读取ConnectionString (创建)
  • 设置ConnectionString ,读取属性(以进行解析)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM