Example #1
0
        private void CreateTable()
        {
            IColumnFactory columnFactory = DbContext.PowerPlant.CreateColumnFactory();
            List <IColumn> columns       = new List <IColumn>
            {
                columnFactory.CreateInstance(ColumnTypeName.Int64, "id", 0, 20, 0, false, false, "0", ""),
                columnFactory.CreateInstance(ColumnTypeName.Int, "seq_no", 0, 15, 0, false, false, "0", ""),
                columnFactory.CreateInstance(ColumnTypeName.Varchar, "val", 50, false, "' '", "Danish_Norwegian_CI_AS")
            };
            TableDefinition tableDefinition = new TableDefinition(TestTable, columns, "");

            DbSchema.CreateTable(tableDefinition);
        }
Example #2
0
        protected void CreateTable(ColumnTypeName type, int length, int prec, int scale, bool isNullable, string def, string collation)
        {
            IAXmlReader      xmlReader       = new AXmlReader(DbContext);
            ITableDefinition tableDefinition = xmlReader.ReadSchema(
                DbContext.ColumnTypeConverterForRead,
                XmlFileHelper.CreateSchemaXmlOneColumn(TableName, type.ConvertToString(), length, prec, scale, isNullable, def, collation));

            DbSchema.CreateTable(tableDefinition);
        }
Example #3
0
        protected void TestColumn(ColumnTypeName type, int length, int prec, int scale, bool isNullable, string def, string collation)
        {
            List <IColumn> columns = new List <IColumn> {
                ColumnFactory.CreateInstance(type, "col1", length, prec, scale, isNullable, false, def, collation)
            };
            ITableDefinition expectedTableDefinition = PowerPlant.CreateTableDefinition(TableName, columns, "");

            DbSchema.CreateTable(expectedTableDefinition);
            var columnTypeConverter = DbContext.PowerPlant.CreateColumnTypeConverter(ConversionFileForWrite);
            ITableDefinition retrievedTableDefinition = DbSchema.GetTableDefinition(columnTypeConverter, TableName);

            AssertTableDefinition(expectedTableDefinition, retrievedTableDefinition);
        }
Example #4
0
        protected virtual void CreateTestTable1Row3Columns1Value(IColumn col, string testValue = "NULL")
        {
            IColumnFactory columnFactory = DbContext.PowerPlant.CreateColumnFactory();
            List <IColumn> columns       = new List <IColumn>
            {
                columnFactory.CreateInstance(ColumnTypeName.Int64, "id", 0, 20, 0, false, false, "0", ""),
                col,
                columnFactory.CreateInstance(ColumnTypeName.Varchar, "val", 50, false, "' '", "Danish_Norwegian_CI_AS")
            };
            TableDefinition tableDefinition = new TableDefinition(TestTable, columns, "");

            DbSchema.CreateTable(tableDefinition);
            string tmp = string.Format("insert into {0} (id, test_col, val) values (9, {1}, 'control value')", TestTable, testValue);

            Commands.ExecuteNonQuery(tmp);
        }
Example #5
0
        private bool ReadTable(string schemaFile)
        {
            var stopWatch = new Stopwatch();

            stopWatch.Start();

            string currentTableName;
            long   rowCounter;

            try
            {
                var tableDefinition = GetTableDefinition(schemaFile);
                var raw16Columns    = _dbContext.DbType == DbTypeName.Oracle ? tableDefinition.GetRaw16Columns() : new List <string>();
                tableDefinition.Columns
                .FindAll(c => raw16Columns.Contains(c.Name))
                .ForEach(c => c.Details["Length"] = 17);

                _dbSchema.DropTable(tableDefinition.Name);
                _dbSchema.CreateTable(tableDefinition);

                ClusteredIndexOnAgrtid(tableDefinition);

                currentTableName = tableDefinition.Name;
                _logger.Write($"{currentTableName,30} Started...");
                var fileName = GetDataFileName(currentTableName);
                rowCounter = BulkLoadData(tableDefinition, fileName);
                WhenOracleAlterRawColumns(tableDefinition.Name, raw16Columns, 16);

                _dbSchema.CreateIndexes(tableDefinition.Indexes);
            }
            catch (Exception ex)
            {
                _logger.Write($"ERROR while reading table. Current schema file: {schemaFile}:");
                _logger.Write(ex);
                return(false);
            }

            stopWatch.Stop();
            var message = $"{currentTableName,30} {rowCounter,10} rows read. Time: {stopWatch.Elapsed}";

            _logger.Write(message);

            return(true);
        }