public void SqlCatalog( [Argument(Help = "identificação da fonte de dados")] string dataSource, [Argument(Help = "String de ligação ao servidor de SQL, e.g. 'Server=SqlServerTestMachine;Trusted_Connection=True;'")] string connectionString, [Argument(Help = "Identificador da base de dados")] string catalogName) { try { App.Console.BreakLineInNextWrite = false; App.Console.WriteWithColor("A enviar solicitação ao servidor...", false, ConsoleColor.Yellow); var producerFacade = ServiceProvider.GetService <IRelationalDatabasesProducerService>(); RelationalDatabaseDataSet results = producerFacade.GetCatalogs(dataSource, connectionString, new[] { new CatalogName(catalogName) }); App.Console.WriteWithColor("A receber resposta do servidor.", false, ConsoleColor.Yellow); string output = TableViewExtensions.ToTableView(results.Catalog).Build().ToString(); App.Console.Write(output, true); } catch { // ignored } }
public void SqlTables( [Argument(Help = "Identificação da fonte de dados")] string dataSource, [Argument(Help = "String de ligação ao servidor de SQL, e.g. 'Server=SqlServerTestMachine;Trusted_Connection=True;'")] string connectionString, [Argument(Help = "Identificador da base de dados")] string catalogName, [Argument(Help = "Identificador(es) da(s) tabela(s)", IsRequired = false)] string[] tableNameCollection = null) { try { App.Console.WriteWithColor("A enviar solicitação ao servidor...", false, ConsoleColor.Yellow); var producerFacade = ServiceProvider.GetService <IRelationalDatabasesProducerService>(); RelationalDatabaseDataSet results = tableNameCollection != null ? producerFacade.GetTables(dataSource, connectionString, CatalogName.FromArray(new[] { catalogName }), TableName.FromArray(tableNameCollection)) : producerFacade.GetTables(dataSource, connectionString, CatalogName.FromArray(new[] { catalogName })); App.Console.WriteWithColor("A receber resposta do servidor.", false, ConsoleColor.Yellow); string output = TableViewExtensions.ToTableView(results.Table).Build().ToString(); App.Console.Write(output, true); } catch { // ignored } }
public void SqlCatalogs( [Argument(Help = "Identificação da fonte de dados")] string dataSource, [Argument(Help = "String de ligação ao servidor de SQL, e.g. 'Server=SqlServerTestMachine;Trusted_Connection=True;'")] string connectionString) { // Cria animação de espera em back-ground, obtendo um token para cancelar a animação logo que os dados cheguem. CancellationTokenSource animation = Animation.Spinner(ConsoleColor.Yellow); try { App.Console.WriteWithColor("A enviar solicitação ao servidor...", false, ConsoleColor.Yellow); var producerFacade = ServiceProvider.GetService <IRelationalDatabasesProducerServiceAsync>(); // Fica à espera que o back-end responda. var task = producerFacade.GetCatalogsAsync(dataSource, connectionString); task.Wait(); // Os dados já chegaram, pára a animação e mostra os resultados. animation.Cancel(); App.Console.WriteWithColor("A receber resposta do servidor.", false, ConsoleColor.Yellow); string output = TableViewExtensions.ToTableView(task.Result.Catalog).Build().ToString(); App.Console.Write(output, true); } catch (Exception) { if (!animation.IsCancellationRequested) { animation.Cancel(); } } }