10

I am trying to connect to a SQL server database using ADO. The password contains a space as the last character. When building the connection string, how should I escape the password?

MSDN says put it in single or double quotes but that does not seem to be working...

http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.connectionstring.aspx

This is what my connection string looks like:

Provider=SQLOLEDB;Persist Security Info=False;Initial Catalog=master;Data Source=test;uid=john;pwd="123 "

Thanks

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キーワード(コメントの1つで言及されています)は接続に影響を与えません-@TLamaがよくコメントしているように、「接続はできますが、Falseのままにすると、インターフェイスからパスワードを取り戻すことはできません。」IDBProperties
  4. 接続文字列内のキーワードの順序は重要ではありません。インターフェイスはこの文字列を内部の「プロパティ」コレクションIDBPropertiesに解析します

SQL Server2008R2でテスト済み。

于 2013-03-20T16:49:22.073 に答える