Esempio n. 1
0
 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();
        }
Esempio n. 3
0
        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);
            }
        }