10

我正在尝试使用 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 "

谢谢

4

1 回答 1

14

我可以告诉你什么有效的:

Provider=SQLOLEDB;Password="123 ";Persist Security Info=True;User ID=john;Initial Catalog=mydbname;Data Source=127.0.0.1
  1. pwd使用关键字而不是Password它无法连接时 - 您需要使用Password应该用双引号括起来的关键字。
  2. uid而不是User ID正常工作 - 我仍然使用User ID,因为连接构建器默认创建它。
  3. Persist Security Info关键字(在其中一条评论中提到)对连接没有影响 - 正如@TLama 很好地评论的那样“您可以连接,但如果您将其保留为 False,则无法从界面取回密码。”IDBProperties
  4. 连接字符串中关键字的顺序并不重要。接口将此IDBProperties字符串解析为内部“属性”集合

使用 SQL Server 2008 R2 测试。

于 2013-03-20T16:49:22.073 回答