次の接続文字列に問題があります。
ConfigurationSettings.AppSettings["connstr"] = "Dsn=dsn_name;
Trusted_Connection=yes;Uid=usrName;Pwd=some+Password;";
これにより、認証が失敗するという例外がスローされます。問題は、ユーザー パスワード内の「+」記号です。
パスワード内の特殊文字をエスケープする方法を知っている人はいますか?
ありがとう!
次の接続文字列に問題があります。
ConfigurationSettings.AppSettings["connstr"] = "Dsn=dsn_name;
Trusted_Connection=yes;Uid=usrName;Pwd=some+Password;";
これにより、認証が失敗するという例外がスローされます。問題は、ユーザー パスワード内の「+」記号です。
パスワード内の特殊文字をエスケープする方法を知っている人はいますか?
ありがとう!
ポイントは、全体が文字列として機能する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=