public DbTargetWriter(IDatabaseTargetProvider databaseTargetProvider, IDatastore datastore, DataStoreConverter dataStoreConverter, DbTargetCommonConfiguration configuration) { this.databaseTargetProvider = databaseTargetProvider; this.datastore = datastore; this.dataStoreConverter = dataStoreConverter; this.configuration = configuration; }
public void WriteData(IConnection connection, IDatabaseInterface databaseInterface, IDatastore dataObject, ReportProgressMethod reportProgress) { reportProgress(new SimpleProgressReport("Aquire database-connection")); IDatabaseTargetProvider msSqlTarget = new MsSqlTargetProvider(connection); DataStoreConverter dataStoreConverter = new DataStoreConverter(this.Configuration.TargetTable, dataObject.Metadata, this.Configuration.Mapping); reportProgress(new SimpleProgressReport("Write records to database")); DbTargetWriter dbTargetWriter = new DbTargetWriter(msSqlTarget, dataObject, dataStoreConverter, this.Configuration); dbTargetWriter.WriteDataToTarget(); }
public void WriteData(IConnection connection, IDatabaseInterface databaseInterface, IDatastore dataObject, ReportProgressMethod reportProgress) { reportProgress(new SimpleProgressReport("Aquire database-connection")); IDatabaseTargetProvider mySqlTarget = new MySqlTargetProvider(connection); DataStoreConverter dataStoreConverter = new DataStoreConverter(this.Configuration.TargetTable, dataObject.Metadata, this.Configuration.Mapping); reportProgress(new SimpleProgressReport("Write records to database")); for (int i = 0; i < dataObject.Count; i++) { object[] rowData = dataObject[i]; var dbRecord = dataStoreConverter.ConvertToDbRecord(rowData); dbRecord.Identifiers = DbTargetHelper.BuildRecordIdentifiers((DbTargetCommonConfiguration)Configuration, rowData, dataObject.Metadata); var existingRecords = mySqlTarget.ResolveRecordInDatabase(dbRecord); UpsertRecordInDatabase(mySqlTarget, dbRecord, existingRecords); } }