私はいくつかの問題に直面しています。デバッグモードで起動して[ユーザーの作成]ボタンを押すたびに、接続文字列の構文が間違っているか、間違っているために例外がスローされます。
Visual Studio 2010を使用すると、プロジェクトはSQL2008Expressを備えた.NET3.5になります。
これは私が他のいくつかのことをテストしている単なる個人的なプロジェクトです。これは一般的に推奨される形式ではないことを知っていますが、個人的な小さなプロジェクトの場合、他の方法でそれを行う意味はわかりません。私がテストしているものは実際に機能します:)
Data Source=.\SQLEXPRESS;AttachDbFilename=|Data Directory|ASPAppDatabase.mdf;Integrated Security=True;User Instance=True
それはうまくいきません。
Data Source=.\SQLEXPRESS;AttachDbFilename="|Data Directory|ASPAppDatabase.mdf";Integrated Security=True;User Instance=True
どちらもしません。
Data Source=.\SQLEXPRESS;AttachDbFilename='|Data Directory|ASPAppDatabase.mdf';Integrated Security=True;User Instance=True
そして繰り返しますが、それもそうではありません:/
ただし、「|データディレクトリ|」を使用するのではなく、ローカルDBファイルへのフルパスを使用すると、問題なく機能し、例外はスローされません。必要に応じて読み取りと書き込みを行うことができます。
そして、私のすべてのベースをカバーするために、ここにユーザーを作成するボタンクリックイベントがあります。
protected void btnAddUser_Click(object sender, EventArgs e)
{
Membership.CreateUser(txtUserName.Text, txtPassword.Text);
btnLogin_Click(sender, e);
}
では、|データディレクトリ|に関して何が欠けているのでしょうか。
上記が正しく機能しない例を次に示します。web.configから直接取得したものです。
<add name="ASPAppDatabaseConnection" connectionString='Data Source=.\SQLEXPRESS;AttachDbFilename=|Data Directory|ASPAppDatabase.mdf;Integrated Security=True;User Instance=True'/>
編集:そしてこれはフルパス接続文字列です:
Data Source=.\SQLEXPRESS;AttachDbFilename="Full Path to DB\ASPAppDatabase.mdf";Integrated Security=True;User Instance=True