私は基本的にデータベース、接続文字列を選択するデスクトップ Windows アプリケーションを作成しています。
データベースに特定のテーブル名が含まれているかどうかを確認する必要があります。
これまでの私のコードは次のとおりです。
private void Form1_Load(object sender, EventArgs e)
{
List<string> databaseName = GetDatabases();
if (databaseName.Any())
{
cboxDatabases.DataSource = databaseName;
}
}
private List<string> GetDatabases()
{
List<String> databases = new List<String>();
SqlConnectionStringBuilder connection = new SqlConnectionStringBuilder();
connection.DataSource = "localhost";
// enter credentials if you want
//connection.UserID = //get username;
// connection.Password = //get password;
connection.IntegratedSecurity = true;
String strConn = connection.ToString();
//create connection
SqlConnection sqlConn = new SqlConnection(strConn);
//open connection
sqlConn.Open();
//get databases
DataTable tblDatabases = sqlConn.GetSchema("Databases");
//close connection
sqlConn.Close();
//add to list
foreach (DataRow row in tblDatabases.Rows)
{
String strDatabaseName = row["database_name"].ToString();
databases.Add(strDatabaseName);
}
return databases;
}
}
}