Tengo el siguiente problema.. Les Cuento
Tengo un Boton para poder restaurar una Base de Datos de SQL 2005.. Funciona bien.. pero el problema llega si abro esa base de datos antes de Restaurar.. Tengo el Siguiente Ejemplo
Código:
el caso es q si no abro la BD antes de hacer el Restore va todo bien.... pero con este ejemplo la cosa cambia.. Me da el Siguiente Error:private void Form1_Load(object sender, EventArgs e) { string strconn = "Data Source=Shady;Initial Catalog=Practico 6 - Brian;Integrated Security=true"; SqlConnection conn = new SqlConnection(); conn.ConnectionString = strconn; SqlDataAdapter da = new SqlDataAdapter("select * from Pais", conn); DataSet ds = new DataSet(); da.Fill(ds); comboBox1.DataSource = ds.Tables[0]; comboBox1.DisplayMember = "NombrePais"; comboBox1.ValueMember = "IDPais"; } y el Boton Restaurar BD private void button3_Click(object sender, EventArgs e) { try { string strmaster = "Data Source=Shady;Initial Catalog=master;Integrated Security=true"; SqlConnection masterconn = new SqlConnection(); masterconn.ConnectionString = strmaster; OpenFileDialog ofd = new OpenFileDialog(); ofd.Title = "Abrir BD"; ofd.Filter = "Backup SQL | *.bak"; if (ofd.ShowDialog() == DialogResult.OK) { MessageBox.Show("RESTORE DATABASE [Practico 6 - Brian] FROM DISK='" + ofd.FileName + "' WITH REPLACE"); SqlCommand comando = new SqlCommand(); comando.CommandText = "RESTORE DATABASE [Practico 6 - Brian] FROM DISK='" + ofd.FileName + "' WITH REPLACE"; comando.Connection = masterconn; masterconn.Open(); comando.ExecuteNonQuery(); masterconn.Close(); } } catch (SqlException ex) { MessageBox.Show(ex.Message, "Error"); } }
Cita:
como si la conexion siguiera abierta pero no..."No se pudo obtener acceso exclusivo porque la base de datos está en uso."
en el evento load al Final probe con " conn.Dispose(); ".. pero todo sigue igual
Espero que alguien me pueda ayudar..
Gracias!!