私は現在、情報をデータベースに保存するコードを書いています。 私は今、それを機能させるための最後のハードルに近づいていると思います。データベースを開くことができませんでした - ユーザのログインに失敗しました
私の問題は、[保存]をクリックすると、ログインで要求されたデータベース[データベースファイルパス]を開くことができないというメッセージボックスが表示されることです。ログインに失敗しました。 「User-PC \ User」のログインに失敗しました。
私は将来的にデータベースのログイン詳細を作成しませんでしたが、プログラムを使用して誰かに情報を記録できるようにしたいと思います。
私はこの問題を解決するためにどこを見なければならないのかはよく分かりませんが、現在SSMSをダウンロードしていますか?
ご協力いただきありがとうございます!私のコードがある
、
文字列constring =「データソース=(LocalDB)\ MSSQLLocalDB;初期カタログ= C:\ユーザー\ユーザー\ドキュメントプロジェクト\ Visual Studioの2015 \ \ LossApplication \ LossApplication \ LossDB.mdf ;統合セキュリティ=はい; Trusted_Connection = True; ";
string query = "LossDB.LossTable(lossid、Equipment、Event、responsinility、start)の値(@lossid、@equipment、@Cause、@reason、@start)に挿入します。 Integrated Security
を使用して
SqlConnection conLossDB = new SqlConnection(constring);
SqlCommand cmdLossDB = new SqlCommand(query, conLossDB);
cmdLossDB.Parameters.AddWithValue("@lossid", textBox1.Text);
cmdLossDB.Parameters.AddWithValue("@Equipment", comboBox1.Text);
cmdLossDB.Parameters.AddWithValue("@Cause", comboBox2.Text);
cmdLossDB.Parameters.AddWithValue("@Reason", comboBox3.Text);
cmdLossDB.Parameters.AddWithValue("@start", dateTimePicker1.Text);
//Defines which boxes to read in order to input the text from the defined boxes into the corresponding columns
SqlDataReader myReader;
try
{
conLossDB.Open();
myReader = cmdLossDB.ExecuteReader();
MessageBox.Show("Loss Entry Saved");
//Opens the database and carries out the defined command outlined in the code above
while (myReader.Read())
{
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
のようになり、 'Integrated Security = True'に変更しようとします。または「統合セキュリティ= SSPI」。 – Venky
私は両方を試して、同じエラーボックスを2回取得します... – Loplac92
DBの権限は何ですか?サーバーにはどのようなログインが存在し、それらのログインがデータベースに対してどのレベルのアクセス権を持っていますか? "Everyone"がアプリケーションを介してデータベースに書き込むことを許可するには、アプリケーションが認証に使用するSQLアカウントを設定し、現在のユーザーの情報をdb自体に格納することを検討することをお勧めします。監査証跡)を使用するのではなく、データベースに直接認証するために使用します。 – mikey