Exemplo n.º 1
0
        public void Test_Blob()
        {
            ConnectString source = new ConnectString
            {
                Host     = "192.168.0.120",
                Port     = "1521",
                Instance = "orcl",
                UserId   = "masgh",
                Password = "******"
            };
            ConnectString dest = new ConnectString
            {
                Host     = "192.168.0.205",
                Port     = "1521",
                Instance = "orcl",
                UserId   = "masgh",
                Password = "******"
            };

            string table = "T5399";

            Table    tableDetail = Tables.GetTableDetails(source, table);
            MDataSet dataSet     = new MDataSet(tableDetail.Name, tableDetail.Columns.Select(item => item.Name).ToArray());

            System.Data.IDataReader dr = Stores.Read(source, table);
            dataSet.SetDataSource(dr);
            Stores.Write(dest, dataSet);
        }
Exemplo n.º 2
0
        public void Test_Write()
        {
            string tableName = "T_USER";

            Table    tableDetail = Tables.GetTableDetails(ConnString, tableName);
            MDataSet dataSet     = new MDataSet(tableDetail.Name, tableDetail.Columns.Select(item => item.Name).ToArray());

            dataSet.SetDataSource(Stores.Read(ConnString, tableName));

            dataSet.Table = "T_USER_1";

            Stores.Write(ConnString, dataSet);
        }
Exemplo n.º 3
0
        /// <summary>
        /// 传输存储数据
        /// </summary>
        public override void ExecStorage()
        {
            IEnumerable <TableProfile> tableIncludeStorage = Profile.ImpTables.Where(item => item.IncludeStorage);

            foreach (var tableProfile in tableIncludeStorage)
            {
                try
                {
                    if (MigrateLog[tableProfile.TableName].TableStruct != MigrateState.Finished)
                    {
                        UpdateMessage($"{tableProfile.TableName}的表结构创建失败,数据传输取消");
                    }
                    else
                    {
                        Table    tableDetail = Domain.Helper.Tables.GetTableDetails(Profile.SourceConnString, tableProfile.TableName);
                        MDataSet dataSet     = new MDataSet(tableDetail.Name, tableDetail.Columns.Select(item => item.Name).ToArray());

                        int total = Domain.Helper.Stores.Count(Profile.SourceConnString, tableProfile.TableName);

                        int page = 0, pageSize = 100;

                        while (true)
                        {
                            page++;
                            int start = (page - 1) * pageSize + 1;
                            if (start > total)
                            {
                                break;
                            }

                            System.Data.IDataReader dr = Domain.Helper.Stores.ReadPage(Profile.SourceConnString, tableProfile.TableName, start, pageSize);
                            dataSet.SetDataSource(dr);
                            Domain.Helper.Stores.Write(Profile.DestConnString, dataSet);
                        }

                        MigrateLog[tableProfile.TableName].Storage = MigrateState.Finished;
                        UpdateMessage($"{tableProfile.TableName}数据传输完成");
                    }
                }
                catch (Exception ex)
                {
                    UpdateMessage($"{tableProfile.TableName}数据传输失败:{ex.Message}");
                }
                finally
                {
                    IncreaseFinishedTask();
                }
            }
        }
Exemplo n.º 4
0
        public override void ExecStorage()
        {
            PartialWriter pw         = writer.CreatePartial("storage", "数据");
            int           page_index = 0;

            IEnumerable <TableProfile> tableIncludeStorage = Profile.ImpTables.Where(item => item.IncludeStorage);

            foreach (var tableProfile in tableIncludeStorage)
            {
                try
                {
                    Table    tableDetail = Domain.Helper.Tables.GetTableDetails(Profile.SourceConnString, tableProfile.TableName);
                    MDataSet dataSet     = new MDataSet(tableDetail.Name, tableDetail.Columns.Select(item => item.Name).ToArray());

                    int total = Domain.Helper.Stores.Count(Profile.SourceConnString, tableProfile.TableName);

                    int page = 0, pageSize = 100;

                    while (true)
                    {
                        page++;
                        int start = (page - 1) * pageSize + 1;
                        if (start > total)
                        {
                            break;
                        }

                        System.Data.IDataReader dr = Domain.Helper.Stores.ReadPage(Profile.SourceConnString, tableProfile.TableName, start, pageSize);
                        dataSet.SetDataSource(dr);

                        pw.Append($"{page_index++}", dataSet);
                    }

                    MigrateLog[tableProfile.TableName].Storage = MigrateState.Finished;
                    UpdateMessage($"{tableProfile.TableName}数据导出完成");
                }
                catch (Exception ex)
                {
                    UpdateMessage($"{tableProfile.TableName}数据导出失败:{ex.Message}");
                }
                finally
                {
                    IncreaseFinishedTask();
                }
            }

            pw.Commit();
        }