private static void UpdateProgress(SqlServer sqlServer, int rowsAdded, int rowsToAdd) { sqlServer.Progress = rowsAdded * 100 / rowsToAdd; }
public static void StartGenerator(SqlServer sqlServer) { var rowsAdded = 0; var instance = GetSqlInstanceNameFromService(sqlServer.ServerCredentials.Ip, sqlServer.ServerCredentials.Username, sqlServer.ServerCredentials.Password); var builder = new SqlConnectionStringBuilder { DataSource = sqlServer.ServerCredentials.Ip + ",1433" + "\\" + instance, NetworkLibrary = "DBMSSOCN", UserID = sqlServer.ServerCredentials.Username, Password = sqlServer.ServerCredentials.Password, IntegratedSecurity = true, InitialCatalog = sqlServer.SqlGeneratorParameters.DbName, ConnectTimeout = 300 }; using (var connection = new SqlConnection(builder.ConnectionString)) { try { connection.Open(); } catch (SqlException e) { Logger.LogError("Unable to open SQL connection to instance " + instance + ".", sqlServer.ServerCredentials.Ip, e); throw; } Logger.Log("Successfully connected to SQL server", Logger.LogLevel.Info, sqlServer.ServerCredentials.Ip); try { CreateTable(connection); } catch (SqlException e) { if (!e.Message.Contains("There is already an object named")) { Logger.LogError("Unable to create table.", sqlServer.ServerCredentials.Ip, e); throw; } } try { _random = new Random(); Parallel.For(0, sqlServer.SqlGeneratorParameters.RowsToInsert, (action, state) => { if (sqlServer.Cts.IsCancellationRequested) { sqlServer.ServerGeneratorStatus = Server.GeneratorStatus.Stopped; state.Break(); } var connection1 = new SqlConnection(builder.ConnectionString); connection1.Open(); AddEntries(connection1, _random); connection1.Close(); lock (Lock) { rowsAdded++; } UpdateProgress(sqlServer, rowsAdded, sqlServer.SqlGeneratorParameters.RowsToInsert); }); sqlServer.Cts.Token.ThrowIfCancellationRequested(); } catch (SqlException e) { Logger.LogError("Unable to insert data to the SQL table.", sqlServer.ServerCredentials.Ip, e); throw; } Logger.Log("Successfully completed SQL generation", Logger.LogLevel.Info, sqlServer.ServerCredentials.Ip); } }
private static void UpdateProgress(SqlServer sqlServer, int rowsAdded, int rowsToAdd) { sqlServer.Progress = rowsAdded*100/rowsToAdd; }
public static void StartGenerator(SqlServer sqlServer) { var rowsAdded = 0; var instance = GetSqlInstanceNameFromService(sqlServer.ServerCredentials.Ip, sqlServer.ServerCredentials.Username, sqlServer.ServerCredentials.Password); var builder = new SqlConnectionStringBuilder { DataSource = sqlServer.ServerCredentials.Ip +",1433" + "\\" + instance, NetworkLibrary = "DBMSSOCN", UserID = sqlServer.ServerCredentials.Username, Password = sqlServer.ServerCredentials.Password, IntegratedSecurity = true, InitialCatalog = sqlServer.SqlGeneratorParameters.DbName, ConnectTimeout = 300 }; using (var connection = new SqlConnection(builder.ConnectionString)) { try { connection.Open(); } catch(SqlException e) { Logger.LogError("Unable to open SQL connection to instance " + instance + ".", sqlServer.ServerCredentials.Ip,e); throw; } Logger.Log("Successfully connected to SQL server",Logger.LogLevel.Info, sqlServer.ServerCredentials.Ip); try { CreateTable(connection); } catch (SqlException e) { if (!e.Message.Contains("There is already an object named")) { Logger.LogError("Unable to create table.", sqlServer.ServerCredentials.Ip, e); throw; } } try { _random = new Random(); Parallel.For(0, sqlServer.SqlGeneratorParameters.RowsToInsert, (action, state) => { if (sqlServer.Cts.IsCancellationRequested) { sqlServer.ServerGeneratorStatus = Server.GeneratorStatus.Stopped; state.Break(); } var connection1 = new SqlConnection(builder.ConnectionString); connection1.Open(); AddEntries(connection1, _random); connection1.Close(); lock (Lock) { rowsAdded++; } UpdateProgress(sqlServer,rowsAdded,sqlServer.SqlGeneratorParameters.RowsToInsert); }); sqlServer.Cts.Token.ThrowIfCancellationRequested(); } catch (SqlException e) { Logger.LogError("Unable to insert data to the SQL table.", sqlServer.ServerCredentials.Ip,e); throw; } Logger.Log("Successfully completed SQL generation", Logger.LogLevel.Info, sqlServer.ServerCredentials.Ip); } }
private static void AddNewSqlServerToListView(ListView listView, SqlServer server) { var lviNewServer = new ListViewItem(server.DisplayName); lviNewServer.SubItems.Add(server.ServerCredentials.Ip); lviNewServer.SubItems.Add(server.Repository); lviNewServer.SubItems.Add(server.ServerGeneratorStatus.ToString()); lviNewServer.SubItems.Add(server.SqlGeneratorParameters?.DbName ?? ""); lviNewServer.SubItems.Add(server.SqlGeneratorParameters?.RowsToInsert.ToString() ?? ""); lviNewServer.SubItems.Add(server.Progress.ToString()); listView.Items.Add(lviNewServer); }