0

次の接続文字列に問題があります。

ConfigurationSettings.AppSettings["connstr"] = "Dsn=dsn_name; 
Trusted_Connection=yes;Uid=usrName;Pwd=some+Password;";

これにより、認証が失敗するという例外がスローされます。問題は、ユーザー パスワード内の「+」記号です。

パスワード内の特殊文字をエスケープする方法を知っている人はいますか?

ありがとう!

4

1 に答える 1

0

ポイントは、全体が文字列として機能するDsn=dsn_name; Trusted_Connection=yes;Uid=usrName;Pwd=some+Password;ため、文字+として機能し、連結として機能しないということです。

string s = String.Format("Dsn={0}; 
Trusted_Connection=yes;Uid={1};Pwd={2}","dsn_name","usrName",some+"Password") ;

String.Format文字列値を適切な場所に挿入する方法を試すことができます。私はそれsomeが文字列変数であると仮定しています。

次に、コードに s を割り当てます。

ConfigurationSettings.AppSettings["connstr"] =s;

編集済み: 1. ; で区切った場合、すべてを 1 行にまとめようとしましたか。すると問題が発生します。

2.そもそもこれが認証の失敗である場合は、パスワードのユーザー名が正しいかどうかを確認する必要があります。後でパスワードを追加する必要がありますpwd=

于 2013-02-25T15:49:27.803 に答える