无法将信息保存到数据库 - UNC共享问题?
问题描述:
我试图将信息保存到我创建的本地sqldatabase以接受进程的丢失事件。然而,我现在的问题不是关于代码的错误消息,而是关于数据库本身,我认为。错误消息框中说:“尝试为文件C:[数据库文件位置]附加一个自动命名的数据库失败。具有相同名称的数据库存在,或者指定的文件无法打开,或者它位于UNC共享中“。 我看了其他地方,但没有直接关系到我的问题/或工作。 现在拉出我的头发!提前致谢。无法将信息保存到数据库 - UNC共享问题?
我的代码是:
private void button1_Click(object sender, EventArgs e)
{
string constring = "Data Source=(LocalDB)\\MSSQLLocalDB;AttachDbFilename=c: \\users\\user\\documents\\visual studio 2015\\Projects\\LossApplication\\LossApplication\\LossDB.mdf;Integrated Security=True; ";
string query=" insert into LossDB.LossTable (lossid,Equipment, Event, responsinility, start) values(@lossid, @equipment, @Cause, @reason, @start) ;";
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);
SqlDataReader myReader;
try
{
conLossDB.Open();
myReader = cmdLossDB.ExecuteReader();
MessageBox.Show("Loss Entry Saved");
conLossDB.Close();
while (myReader.Read())
{
}
}catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
}
答
在您的连接字符串,请使用初始目录,而不是AttachDbFilename
string constring = "Data Source=(LocalDB)\MSSQLLocalDB;
Initial Catalog = c: \users\user\documents\visual studio 2015\Projects\LossApplication\LossApplication\LossDB.mdf;
Integrated Security=True; ";
即使我面对这个问题,上面的代码解析。
谢谢你的工作! 但现在我得到一个登录问题,这是通过在连接字符串的末尾添加用户名密码来排序? – Loplac92
如果解决此问题,将其标记为答案。对于登录问题,如果您的数据库仅通过凭据访问,则必须提供用户标识和密码。 –