Görsel stüdyolarda bir veritabanı oluşturmaya çalışıyorum, ancak yapamıyorum. Hata iletisini alıyorum: "Veritabanı açılamıyor" veritabanı1 "oturum açma tarafından isteniyordu. Oturum açma işlemi başarısız oldu. Oturum açma işlemi '123' kullanıcısı için başarısız oldu. Ancak, SQL server stüdyolarında el ile" database1 "oluşturduğumda ve daha sonra bağlanmaya çalışıyorum. C# kodu Veritabanına iyi bağlantı kurabilirim. Her sunucu rolü onay kutusu işaretli sunucu stüdyolarında kimlik 123 ve parola abc ile bir kullanıcı oluşturduk. Ben SQL Express kullanıyorum açıklamalara dayanarak 2012.Program aracılığıyla bir veritabanı oluşturulamıyor
private void sQLToolStripMenuItem_Click(object sender, EventArgs e)
{
bool create_db = false;
bool create_table = false;
SqlConnection myConnection = new SqlConnection("Server = localhost; Database = database1; User Id = 123; Password = abc;");
try
{
myConnection.Open();
MessageBox.Show("We were able to connect to the database!", "Success!");
create_table = true;
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
create_db = true;
MessageBox.Show("There is no database. We will create one.", "No Database Found.");
}
// For creating the database if not found
if (create_db == true)
{
String str;
SqlConnection myConn = new SqlConnection("Server = localhost; Database = database1; User Id = 123; Password = abc;");
str = "CREATE DATABASE database1";
SqlCommand myCommand = new SqlCommand(str, myConn);
try
{
myConn.Open();
myCommand.ExecuteNonQuery();
MessageBox.Show("DataBase is Created Successfully", "Creation", MessageBoxButtons.OK, MessageBoxIcon.Information);
create_db = false;
}
catch (System.Exception ex)
{
MessageBox.Show(ex.ToString(), "MyProgram", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
finally
{
if (myConn.State == ConnectionState.Open)
{
myConn.Close();
}
}
}
Varolmayan bir veritabanı belirtebilirsiniz. Veritabanını oluşturmanız gerekiyorsa, bir 'başlangıç kataloğu 'ya da' veritabanı 'değeri belirtmeyin. Veritabanını başarıyla oluşturduktan sonra veritabanını belirtebilirsiniz. –
SQL'e yeni geliyorum "Database = database1;" bağlantı dizesinden mi? "Veritabanını başarıyla oluşturduktan sonra bunu belirtebildiğimden" tam olarak anlamadım. – Vince
Sevgili @Vince, Lütfen ana kataloğu ilk kataloğunuz olarak kullanmayı düşünün: Veritabanı = master; – mostafa8026