public RavenConfiguration Initialize() { Core.Initialize(Settings); Replication.Initialize(Settings); SqlReplication.Initialize(Settings); Queries.Initialize(Settings); Patching.Initialize(Settings); DebugLog.Initialize(Settings); BulkInsert.Initialize(Settings); Server.Initialize(Settings); Memory.Initialize(Settings); Storage.Initialize(Settings); Encryption.Initialize(Settings); Indexing.Initialize(Settings); Monitoring.Initialize(Settings); Expiration.Initialize(Settings); Studio.Initialize(Settings); Databases.Initialize(Settings); Licensing.Initialize(Settings); Quotas.Initialize(Settings); Tombstones.Initialize(Settings); PostInit(); Initialized = true; return(this); }
/// <summary> /// copies the key map table from the dest connection to the source /// so you can do inspect and troubleshoot the mapping in the source connection /// </summary> public async Task <(DbObject @object, int rowCount)> ImportKeyMapTableAsync(DataMigration dataMigration) { DbObject result = null; int rowCount = 0; await ExecuteWithConnectionsAsync(dataMigration, async (source, dest) => { var migrator = await GetMigratorAsync(dest); result = SqlMigrator <int> .KeyMapTable; if (await source.TableExistsAsync(result)) { await source.ExecuteAsync($"DROP TABLE [{result.Schema}].[{result.Name}]"); } if (!await source.SchemaExistsAsync(result.Schema)) { await source.ExecuteAsync($"CREATE SCHEMA [{result.Schema}]"); } string query = $"SELECT * FROM [{result.Schema}].[{result.Name}]"; var data = await dest.QueryTableAsync(query); rowCount = data.Rows.Count; var createTable = await dest.SqlCreateTableAsync(result.Schema, result.Name, query); await source.ExecuteAsync(createTable); await BulkInsert.ExecuteAsync(data, source, result, 35, new BulkInsertOptions() { IdentityInsert = true }); }); return(result, rowCount); }
public void Insert() { var dbSessionFactory = new SmartSqlBuilder() .UseDataSource(DbProvider.MYSQL_CONNECTOR, "Data Source=localhost;database=SmartSqlTestDB;uid=root;pwd=root") .UseAlias("MySqlConnectorTest") .Build().GetDbSessionFactory(); var list = new List <User> { new() { Id = 1, UserName = "******", IsDelete = true }, new() { Id = 2, UserName = "******", IsDelete = false } }; using var dbSession = dbSessionFactory.Open(); var data = list.ToDataTable(); data.TableName = "t_user"; var bulkInsert = new BulkInsert(dbSession) { SecureFilePriv = "C:/ProgramData/MySQL/MySQL Server 8.0/Uploads", Table = data }; bulkInsert.Expressions.Add("user_name = upper(user_name)"); bulkInsert.Expressions.Add("is_delete = convert(is_delete, unsigned )"); bulkInsert.Insert(); } }
public void Insert() { var dbSessionFactory = new SmartSqlBuilder() .UseDataSource(DbProvider.MYSQL, "Data Source=localhost;database=SmartSqlTestDB;uid=root;pwd=SmartSql.net") .UseAlias("MySqlTest") .Build().GetDbSessionFactory(); var list = new List <User> { new User { Id = 3, UserName = "******" } , new User { Id = 4, UserName = "******" } }; using (var dbSession = dbSessionFactory.Open()) { var data = list.ToDataTable(); data.Columns.RemoveAt(0); data.TableName = "t_user"; BulkInsert bulkInsert = new BulkInsert(dbSession) { SecureFilePriv = "C:/ProgramData/MySQL/MySQL Server 8.0/Uploads", Table = data }; bulkInsert.Insert(); } }
public static void Initialize(TestContext context) { LocalDb.TryDropDatabase(dbName, out _); using (var cn = LocalDb.GetConnection(dbName, SampleObjects())) { var tdg = new TestDataGenerator(); tdg.Generate <TypicalQueryResult>(1000, (result) => { result.FirstName = tdg.Random(Source.FirstName); result.SomeDate = tdg.RandomInRange(-1000, 1000, (i) => DateTime.Today.AddDays(i)); result.Weight = tdg.RandomInRange <decimal>(50, 150, (d) => d); result.Notes = RandomPhrase(4, 8); }, (results) => { // AppVeyor seems to need this if (cn.State == ConnectionState.Closed) { cn.Open(); } var dataTable = results.ToDataTable(); BulkInsert.ExecuteAsync(dataTable, cn as SqlConnection, DbObject.Parse("dbo.SampleTable"), 50, new BulkInsertOptions() { SkipIdentityColumn = "Id" }).Wait(); }); } }
static void Main(string[] args) { using (var db = new BulkInsertEFEntities()) { Console.WriteLine("Starting test. Enter number of records you wish to test for :"); var count = int.Parse(Console.ReadLine()); var list = new List <TestTable>(); for (int i = 0; i < count; i++) { list.Add(new TestTable { GuidId = Guid.NewGuid(), VarcharType = "Rajesh Panda", OnlyDate = DateTime.Now.Date, OffsetTypeDate = new DateTimeOffset(DateTime.Now).UtcDateTime, DateTimeType = DateTime.Now, BooleanType = false }); } var bulkInsert = new BulkInsert(db); bulkInsert.BulkInsertCommand(list); Console.WriteLine("Press any key to exit..."); Console.ReadKey(); } }
public void Insert() { var dbSessionFactory = new SmartSqlBuilder() .UseDataSource(DbProvider.POSTGRESQL, "Server=localhost;Database=SmartSqlTestDB;Port=5432;User Id=postgres;Password=SmartSql.net;") .UseAlias("PostgreSqlTest") .Build().GetDbSessionFactory(); var list = new List <User> { new User { Id = 1, UserName = "******" } , new User { Id = 2, UserName = "******" } }; using (var dbSession = dbSessionFactory.Open()) { var data = list.ToDataTable(); data.Columns.RemoveAt(0); data.Columns["UserName"].ColumnName = "user_name"; data.Columns["Status"].ColumnName = "status"; data.TableName = "t_user"; BulkInsert bulkInsert = new BulkInsert(dbSession); bulkInsert.Table = data; bulkInsert.Insert(); } }
private void btnBulk_Click(object sender, EventArgs e) { user = lblUser.Text; BulkInsert f9 = new BulkInsert(); f9.Show(); }
static void Main(string[] args) { var builder = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true); IConfigurationRoot configuration = builder.Build(); if (CheckConfiguration(configuration)) { Console.WriteLine("Descargando fichero..."); var downloader = new Downloader(configuration["FileURL:URL"], configuration["FileURL:Directory"]); var result = downloader.Download(); Console.WriteLine($"Path: {result.FilePath}"); Console.WriteLine($"Tamaño: {result.Size}bytes"); Console.WriteLine($"Tiempo de Descarga: {result.DownloadTime.TotalSeconds}s"); Console.WriteLine($"Hilos en Paralelo: {result.ParallelDownloads}"); Console.WriteLine("Insertando datos en BBDD..."); var reader = new CSVReader <StockHistory, StockHistoryMapping>(result.FilePath); var bulk = new BulkInsert <StockHistory>(); bulk.Execute(configuration.GetConnectionString("StockBBDD"), reader.Read()); Console.WriteLine("Proceso finalizado!"); Console.ReadLine(); } }
public void GetSql_WhenTwoColumnsSpecified_GeneratesSQL() { var sql = new BulkInsert <SimpleObject>() .GetSql(2); Assert.AreEqual( "INSERT INTO `table_name`(`LongColumnName`, `SomeString`, `NullableLong`, `Guid`, `NullableGuid`, `IntBasedEnum`, `NullableIntBasedEnum`) VALUES (?p0, ?p1, ?p2, ?p3, ?p4, ?p5, ?p6), (?p7, ?p8, ?p9, ?p10, ?p11, ?p12, ?p13);", sql); }
public void GetSql_ZeroEntries_GeneratesSQL() { var sql = new BulkInsert <SimpleObject>() .GetSql(0); Assert.AreEqual( "INSERT INTO `table_name`(`LongColumnName`, `SomeString`, `NullableLong`, `Guid`, `NullableGuid`, `IntBasedEnum`, `NullableIntBasedEnum`) VALUES ;", sql); }
public void InsertByList() { IBulkInsert bulkInsert = new BulkInsert(DbSession); var list = DbSession.Query <AllPrimitive>(new RequestContext { Scope = nameof(AllPrimitive), SqlId = "Query", Request = new { Taken = 100 } }); bulkInsert.Insert(list); }
public async Task InsertByListAsync() { var list = await DbSession.QueryAsync <AllPrimitive>(new RequestContext { Scope = nameof(AllPrimitive), SqlId = "Query", Request = new { Taken = 100 } }); IBulkInsert bulkInsert = new BulkInsert(DbSession); await bulkInsert.InsertAsync <AllPrimitive>(list); }
public void InsertByList() { using (var dbSession = _dbSessionFactory.Open()) { var list = dbSession.Query <AllPrimitive>(new RequestContext { RealSql = "Select Top(100) * From T_AllPrimitive Order By Id Desc" }); IBulkInsert bulkInsert = new BulkInsert(dbSession); bulkInsert.Insert(list); } }
public async Task InsertByListAsync() { using (var dbSession = _dbSessionFactory.Open()) { var list = await dbSession.QueryAsync <AllPrimitive>(new RequestContext { RealSql = "Select Top(100) * From T_AllPrimitive Order By Id Desc" }); IBulkInsert bulkInsert = new BulkInsert(dbSession); await bulkInsert.InsertAsync <AllPrimitive>(list); } }
public void GetColumns_SimpleObject_ShouldContainSimpleObjectsMappedColumns() { var columns = new BulkInsert <SimpleObject>().GetColumns(); var columneNames = columns.Select(p => p.ColumnName); Assert.That(columneNames, Contains.Item("`LongColumnName`")); Assert.That(columneNames, Contains.Item("`SomeString`")); Assert.That(columneNames, Contains.Item("`NullableLong`")); Assert.That(columneNames, Contains.Item("`Guid`")); Assert.That(columneNames, Contains.Item("`NullableGuid`")); Assert.That(columneNames, Contains.Item("`IntBasedEnum`")); Assert.That(columneNames, Contains.Item("`NullableIntBasedEnum`")); }
public void Insert() { using (var dbSession = _dbSessionFactory.Open()) { var data = dbSession.GetDataTable(new RequestContext { RealSql = "Select Top(100) * From T_AllPrimitive Order By Id Desc" }); data.TableName = "T_AllPrimitive"; IBulkInsert bulkInsert = new BulkInsert(dbSession); bulkInsert.Table = data; bulkInsert.Insert(); } }
public async Task <IActionResult> BulkInsert(BulkInsert model) { var res = new BulkInsertResponse(); res.DailyInserted = new List <DailyInsert>(); res.DailyNotInserted = new List <DailyInsert>(); res.PositiveNotInserted = new List <PositiveInsert>(); res.PositiveInserted = new List <PositiveInsert>(); foreach (var item in model.PositiveInserts) { if (ModelState.IsValid) { var dailyRes = await _da.PositiveInsertion(item); if (dailyRes.StatusCode == 200) { res.PositiveInserted.Add(item); } else { res.PositiveNotInserted.Add(item); } } else { res.PositiveNotInserted.Add(item); } } foreach (var item in model.DailyInserts) { if (ModelState.IsValid) { var dailyRes = await _da.DailyInsertion(item); if (dailyRes.StatusCode == 200) { res.DailyInserted.Add(item); } else { res.DailyNotInserted.Add(item); } } else { res.DailyNotInserted.Add(item); } } return(Ok(res)); }
public void InsertByList() { using (var dbSession = SqlMapper.SessionStore.Open()) { IBulkInsert bulkInsert = new BulkInsert(dbSession); var list = SqlMapper.Query <AllPrimitive>(new RequestContext { Scope = nameof(AllPrimitive), SqlId = "Query", Request = new { Taken = 100 } }); bulkInsert.Insert(list); } }
public void BulkInsert(IEnumerable <Excerpt> excerpts) { using (var session = _repository.SqlMapper.SessionStore.Open()) { var table = excerpts.ToDataTable(); table.TableName = "t_excerpt"; var bulkInsert = new BulkInsert(session) { Table = table, SecureFilePriv = @"C:\ProgramData\MySQL\MySQL Server 8.0\Uploads" }; bulkInsert.Insert(); } }
private static StoreFM36History StoreFM36HistorySetup() { var historyOutput = new List <AppsEarningsHistory> { new AppsEarningsHistory { UKPRN = _ukprn, CollectionReturnCode = "R01", CollectionYear = "1819", LatestInYear = true, LearnRefNumber = "3DOB01", AppIdentifier = "25-5", AppProgCompletedInTheYearInput = false, BalancingProgAimPaymentsInTheYear = 0.0m, CompletionProgaimPaymentsInTheYear = 0.0m, DaysInYear = 274, HistoricEffectiveTNPStartDateInput = new System.DateTime(2018, 07, 31), HistoricEmpIdEndWithinYear = 914429647, HistoricEmpIdStartWithinYear = 914429647, FworkCode = null, HistoricLearner1618StartInput = true, OnProgProgAimPaymentsInTheYear = 3000.0m, HistoricPMRAmount = 0.0m, ProgrammeStartDateIgnorePathway = new System.DateTime(2018, 10, 31), ProgrammeStartDateMatchPathway = new System.DateTime(2018, 10, 31), ProgType = 25, PwayCode = null, STDCode = 5, HistoricTNP1Input = 10500.0m, HistoricTNP2Input = 0.0m, HistoricTNP3Input = 0.0m, HistoricTNP4Input = 0.0m, HistoricTotal1618UpliftPaymentsInTheYearInput = 0.0m, TotalProgAimPaymentsInTheYear = 3000.0m, ULN = 9900278304, UptoEndDate = new System.DateTime(2018, 07, 31), HistoricVirtualTNP3EndOfTheYearInput = 0.0m, HistoricVirtualTNP4EndOfTheYearInput = 0.0m, HistoricLearnDelProgEarliestACT2DateInput = new System.DateTime(2018, 10, 31), } }; var fm36HistoryMapperMock = new Mock <IFM36HistoryMapper>(); IBulkInsert bulkInsert = new BulkInsert(); fm36HistoryMapperMock.Setup(fm => fm.MapAppsEarningsHistory(_fundingOutputs, It.IsAny <string>(), It.IsAny <string>())).Returns(historyOutput); return(new StoreFM36History(fm36HistoryMapperMock.Object, bulkInsert)); }
public static void BulkInsert <T>(this IDbConnection connection, IList <T> items) where T : class { if (items.Count == 0) { return; } var commandGenerator = new BulkInsert <T>(); var sql = commandGenerator.GetSql(items.Count); var parameters = items.SelectMany(item => commandGenerator.GetColumns().Select(c => c.ValueAccessor(item))).ToList(); AttachParamsAndRun(connection, sql, parameters); }
public async Task InsertByListAsync() { using (var dbSession = SqlMapper.SessionStore.Open()) { var list = await SqlMapper.QueryAsync <AllPrimitive>(new RequestContext { Scope = nameof(AllPrimitive), SqlId = "Query", Request = new { Taken = 100 } }); IBulkInsert bulkInsert = new BulkInsert(dbSession); await bulkInsert.InsertAsync <AllPrimitive>(list); } }
public void InsertByListWithTypeHandler() { using (var dbSession = SqlMapper.SessionStore.Open()) { IBulkInsert bulkInsert = new BulkInsert(dbSession); var list = SqlMapper.Query <UserExtendedInfo>(new RequestContext { Scope = nameof(UserExtendedInfo), SqlId = "Query", Request = new { Taken = 100 } }); bulkInsert.Insert(list); } }
public void Insert() { var data = DbSession.GetDataTable(new RequestContext { Scope = nameof(AllPrimitive), SqlId = "Query", Request = new { Taken = 100 } }); data.TableName = "T_AllPrimitive"; IBulkInsert bulkInsert = new BulkInsert(DbSession); bulkInsert.Table = data; bulkInsert.Insert(); }
public async Task InsertAsync() { var data = await DbSession.GetDataTableAsync(new RequestContext { Scope = nameof(AllPrimitive), SqlId = "Query", Request = new { Taken = 100 } }); data.TableName = "T_AllPrimitive"; IBulkInsert bulkInsert = new BulkInsert(DbSession); bulkInsert.Table = data; await bulkInsert.InsertAsync(); }
public void Insert() { using (var dbSession = SqlMapper.SessionStore.Open()) { var data = SqlMapper.GetDataTable(new RequestContext { Scope = nameof(AllPrimitive), SqlId = "Query", Request = new { Taken = 100 } }); data.TableName = "T_AllPrimitive"; IBulkInsert bulkInsert = new BulkInsert(dbSession); bulkInsert.Table = data; bulkInsert.Insert(); } }
public RavenConfiguration Initialize() { Core.Initialize(Settings); Replication.Initialize(Settings); Queries.Initialize(Settings); Patching.Initialize(Settings); BulkInsert.Initialize(Settings); Server.Initialize(Settings); Memory.Initialize(Settings); Indexing.Initialize(Settings); Prefetcher.Initialize(Settings); Storage.Initialize(Settings); Encryption.Initialize(Settings); Cluster.Initialize(Settings); Monitoring.Initialize(Settings); FileSystem.Initialize(Settings); Counter.Initialize(Settings); TimeSeries.Initialize(Settings); Expiration.Initialize(Settings); Versioning.Initialize(Settings); Studio.Initialize(Settings); Tenants.Initialize(Settings); Licensing.Initialize(Settings); Quotas.Initialize(Settings); if (Settings["Raven/MaxServicePointIdleTime"] != null) { ServicePointManager.MaxServicePointIdleTime = Convert.ToInt32(Settings["Raven/MaxServicePointIdleTime"]); } if (ConcurrentMultiGetRequests == null) { ConcurrentMultiGetRequests = new SemaphoreSlim(Server.MaxConcurrentMultiGetRequests); } PostInit(); initialized = true; return(this); }
private async void btnCopy_Click(object sender, EventArgs e) { try { var table = cbTable.SelectedItem as Table; if (table != null) { var output = await BulkInsert.GetSqlStatementsAsync(table.Name, DataTable, new BulkInsertOptions() { SkipIdentityColumn = (rbOmitIdentity.Checked) ? table.IdentityColumn : null, IdentityInsert = rbIdentityInsert.Checked }); Clipboard.SetText(output.ToString()); } } catch (Exception exc) { MessageBox.Show(exc.Message); } }
private void ImportData() { try { using (var dt = CreateSourceDataTable()) { using (var session = CreateSession()) { using (var bulkInsert = new BulkInsert <T, int>(session.Connection)) { foreach (DataRow dr in dt.Rows.OfType <DataRow>()) { var target = DataRowToTarget(dr); bulkInsert.Insert(target); } } } } } catch (Exception ex) { Logger.Write(ex); } }