连接字符串中的转义空间

Zdr*_*nev 9 sql sql-server delphi ado

我正在尝试使用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 "
Run Code Online (Sandbox Code Playgroud)

谢谢

kob*_*bik 13

我可以告诉你的工作:

Provider=SQLOLEDB;Password="123 ";Persist Security Info=True;User ID=john;Initial Catalog=mydbname;Data Source=127.0.0.1
Run Code Online (Sandbox Code Playgroud)
  1. 当使用pwd关键字而不是Password连接时 - 您需要使用Password应该用双引号括起来的关键字.
  2. uid而不是User ID工作得很好 - 我仍然使用,User ID因为连接构建器默认创建它.
  3. Persist Security Info关键字(在其中一条评论中提到)对连接没有影响 - 因为@TLama很好地评论说"你可以连接,但IDBProperties如果保持False ,你就不会从界面上取回密码."
  4. 连接字符串中关键字的顺序并不重要.在IDBProperties接口解析这个字符串转换成内部的"属性"集合

使用SQL Server 2008 R2进行测试.

  • 订单无关紧要.我将密码更改为密码但最后保留了密码... (3认同)