我正在尝试使用 ADO 连接到 SQL Server 数据库。密码的最后一个字符包含空格。构建连接字符串时,应该如何转义密码?
MSDN 说将其放在单引号或双引号中,但这似乎不起作用......
http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.connectionstring.aspx
这就是我的连接字符串的样子:
Provider=SQLOLEDB;Persist Security Info=False;Initial Catalog=master;Data Source=test;uid=john;pwd="123 "
谢谢
最佳答案
我可以告诉你什么有效:
Provider=SQLOLEDB;Password="123 ";Persist Security Info=True;User ID=john;Initial Catalog=mydbname;Data Source=127.0.0.1
- 当使用
pwd
关键字而不是Password
时,连接失败 - 您需要使用Password
关键字,该关键字应用双引号括起来 -引用。 uid
而不是User ID
工作得很好 - 我仍然使用User ID
因为连接生成器默认创建它。Persist Security Info
关键字(在评论之一中提到)对连接没有影响 - 正如 @TLama 很好的评论“您可以连接,但您没有获得密码如果您将其保留为 False,则从IDBProperties
接口(interface)返回。”- 连接字符串中关键字的顺序并不重要。
IDBProperties
接口(interface)将此字符串解析为 internal "Properties" collection
使用 SQL Server 2008 R2 进行测试。
关于sql - 连接字符串中的转义空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15528274/