私は基本的にデータベース、接続文字列を選択するデスクトップ 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;
    }
}
}