public bool AllChunksStarted(int buildingId) { using (var connection = SqlConnectionHelper.OpenMssqlConnection(_connectionString)) using (var transaction = connection.BeginTransaction()) { var query = $"SELECT TOP 1 Id FROM Chunk WHERE BuildingId = {buildingId} AND Started is null"; using (var cmd = new SqlCommand(query, connection, transaction) { CommandTimeout = 0 }) { using (var reader = cmd.ExecuteReader()) { while (reader.Read()) { return(false); } } } } return(true); }
public void PopulateMetadata() { var query = "INSERT INTO {sc}.METADATA " + "(METADATA_CONCEPT_ID " + ", [NAME] " + ", VALUE_AS_STRING " + ", VALUE_AS_CONCEPT_ID " + ", METADATA_DATE " + ", METADATA_DATETIME) " + "SELECT 0 " + ", [NAME] " + ", count(*) as cnt " + ", 0 " + ", getdate() " + ", CONVERT(varchar, getdate(), 8) " + "FROM ( SELECT DISTINCT PERSON_ID, NAME FROM {sc}.METADATA_TMP) as a GROUP BY [NAME]"; query = query.Replace("{sc}", _schemaName); var odbcConnection = new OdbcConnectionStringBuilder(_connectionString); var sqlConnection = new SqlConnectionStringBuilder { ["Data Source"] = odbcConnection["server"], ["Initial Catalog"] = odbcConnection["database"], ["User Id"] = odbcConnection["uid"], ["Password"] = odbcConnection["pwd"] }; using (var connection = SqlConnectionHelper.OpenMssqlConnection(sqlConnection.ConnectionString)) { using (var command = new SqlCommand(query, connection)) { command.ExecuteNonQuery(); } } }
public BuilderState GetState(int builderId) { const string query = "SELECT StateId FROM [Builder] WHERE Id = {0}"; using (var connection = SqlConnectionHelper.OpenMssqlConnection(_connectionString)) { using (var cmd = new SqlCommand(string.Format(query, builderId), connection)) { using (var reader = cmd.ExecuteReader()) { while (reader.Read()) { var stateId = reader.GetInt("StateId"); if (stateId != null) { return((BuilderState)stateId.Value); } } return(BuilderState.Unknown); } } } }
public void UpdateSettings(int builderId, string machineName, int buildingId, string folder, int maxDegreeOfParallelism, string version) { const string query = "UPDATE [dbo].[Builder] " + "SET [Folder] = @folder " + ",[MaxDegreeOfParallelism] = @maxDegreeOfParallelism " + ",[BuildingId] = @buildingId " + ",[Version] = @version " + "WHERE [Id] = @builderId"; using (var connection = SqlConnectionHelper.OpenMssqlConnection(_connectionString)) { using (var cmd = new SqlCommand(query, connection)) { cmd.Parameters.Add("@builderId", SqlDbType.Int); cmd.Parameters["@builderId"].Value = builderId; cmd.Parameters.Add("@dsn", SqlDbType.VarChar); cmd.Parameters["@dsn"].Value = machineName; cmd.Parameters.Add("@folder", SqlDbType.VarChar); cmd.Parameters["@folder"].Value = folder; cmd.Parameters.Add("@maxDegreeOfParallelism", SqlDbType.VarChar); cmd.Parameters["@maxDegreeOfParallelism"].Value = maxDegreeOfParallelism; cmd.Parameters.Add("@buildingId", SqlDbType.Int); cmd.Parameters["@buildingId"].Value = buildingId; cmd.Parameters.Add("@version", SqlDbType.VarChar); cmd.Parameters["@version"].Value = version; cmd.CommandTimeout = 30000; cmd.ExecuteScalar(); } } }
public override ISaver Create(string connectionString, CdmVersions cdmVersion, string sourceSchema, string destinationSchema) { CdmVersion = cdmVersion; SourceSchema = sourceSchema; DestinationSchema = destinationSchema; var odbcConnection = new OdbcConnectionStringBuilder(connectionString); var sqlConnection = new SqlConnectionStringBuilder { ["Data Source"] = odbcConnection["server"], ["Initial Catalog"] = odbcConnection["database"], ["User Id"] = odbcConnection["uid"], ["Password"] = odbcConnection["pwd"] }; _connection = SqlConnectionHelper.OpenMssqlConnection(sqlConnection.ConnectionString); _transaction = _connection.BeginTransaction(); _bulkCopy = new SqlBulkCopy(_connection, SqlBulkCopyOptions.TableLock, _transaction) { BulkCopyTimeout = 600 }; return(this); }
public IEnumerable <IDataReader> GetList() { const string query = "SELECT [BuildingId] " + ",[SourceConnectionString] " + ",[DestinationConnectionString] " + ",[Vendor] " + ",[BatchSize] " + "FROM [dbo].[BuildingSettings] ORDER BY BuildingId DESC"; using (var connection = SqlConnectionHelper.OpenMssqlConnection(_connectionString)) { using (var cmd = new SqlCommand(query, connection)) { cmd.CommandTimeout = 30000; using (var reader = cmd.ExecuteReader()) { while (reader.Read()) { yield return(reader);; } } } } }