Exemple #1
0
        private bool checkSDEimportSet()
        {
            string errStr = "";
            //导入数据文件检查
            Db db = QuickConfig.Common.setXml.getConfig(ConfigName).Db;


            if (!Common.checkFolder(db.Impfolder))
            {
                errStr += "数据文件存放地址必须填写,请重新设置\r\n";
            }
            foreach (Control ctl in dbControlList)
            {
                if (ctl is gdbChoose && ((gdbChoose)ctl).Check == true)
                {
                    string    Name      = ((gdbChoose)ctl).Name;
                    DbSdeUser dbsdeuser = db.DbSdeUserList.Find((DbSdeUser ds) => ds.Name == Name);
                    if (!Common.checkGDBFolder(dbsdeuser.Gdbfile))
                    {
                        errStr += dbsdeuser.Label + "的GDB文件夹不存在,请重新设置\r\n";
                    }
                }
            }


            if (errStr != "")
            {
                MessageBox.Show(errStr, "", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return(false);
            }
            return(true);
        }
Exemple #2
0
 public void SetValue(DbSdeUser dbsdeuser)
 {
     this._name           = dbsdeuser.Name;
     this.label.Text      = dbsdeuser.Label;
     this.tablespace.Text = dbsdeuser.Tablespace;
     this.user.Text       = dbsdeuser.User;
     this.password.Text   = dbsdeuser.Password;
 }
Exemple #3
0
 public void SetValue(DbSdeUser dbSdeUser)
 {
     this._name               = dbSdeUser.Name;
     this.gdb_label.Text      = dbSdeUser.Label;
     this._user               = dbSdeUser.User;
     this._password           = dbSdeUser.Password;
     this.gdb_folderPath.Text = dbSdeUser.Gdbfile;
 }
Exemple #4
0
 public void setValue(DbSdeUser dbsdeuser)
 {
     this.txt_name.Text         = dbsdeuser.Name;
     this.txt_label.Text        = dbsdeuser.Label;
     this.txt_tablespace.Text   = dbsdeuser.Tablespace;
     this.txt_user.Text         = dbsdeuser.User;
     this.txt_password.Text     = dbsdeuser.Password;
     this.txt_gdbpath.Text      = dbsdeuser.Gdbfile;
     this.txt_relativepath.Text = dbsdeuser.Relativepath;
 }
Exemple #5
0
        private void loadDbInit()
        {
            Db db = configset.Db;

            List <Control> dbCtlsList = new List <Control>();

            //设置数据主目录
            impdataFolder impdatafolder = new impdataFolder();

            impdatafolder.SetValue(db);
            DbInitControlAdd(impdatafolder);

            //设置普通用户初始化

            if (db.DbUserList.Count > 0)
            {
                for (int i = 0; i < db.DbUserList.Count; i++)
                {
                    DbUser    dbuser    = db.DbUserList[i];
                    dmpChoose dmpchoose = new dmpChoose();
                    dmpchoose.SetValue(dbuser);
                    DbInitControlAdd(dmpchoose);
                    dbCtlsList.Add(dmpchoose);
                }
            }


            //设置sde用户初始化
            if (db.DbSdeUserList.Count > 0)
            {
                for (int i = 0; i < db.DbSdeUserList.Count; i++)
                {
                    DbSdeUser dbsdeuser = db.DbSdeUserList[i];
                    gdbChoose gdbchoose = new gdbChoose();
                    gdbchoose.SetValue(dbsdeuser);
                    DbInitControlAdd(gdbchoose);
                    dbCtlsList.Add(gdbchoose);
                }

                sdeCoordinateSystemSet sdecss = new sdeCoordinateSystemSet();
                sdecss.CS_TYPE = db.CS_TYPE;
                sdecss.WKID    = db.WKID;
                sdecss.Prjpath = db.Prjpath;
                DbInitControlAdd(sdecss);
                dbCtlsList.Add(sdecss);
            }

            dbInit dbinit = new dbInit();

            dbinit.dbControlList = dbCtlsList;
            dbinit.SetButtons(db);
            dbinit.ConfigName = configName;
            DbInitControlAdd(dbinit);
        }
Exemple #6
0
        private void loadDbSetControls()
        {
            Db db = configset.Db;
            //设置表头
            dbTableTitleSet dbtabletitleset = new dbTableTitleSet();

            DbSetControlAdd(dbtabletitleset);

            //设置普通用户
            if (db.DbUserList.Count > 0)
            {
                for (int i = 0; i < db.DbUserList.Count; i++)
                {
                    DbUser    dbuser    = db.DbUserList[i];
                    dbUserSet dbuserset = new dbUserSet();
                    dbuserset.SetValue(dbuser);
                    DbSetControlAdd(dbuserset);
                }
            }



            //设置sde用户
            if (db.DbSdeUserList.Count > 0)
            {
                for (int i = 0; i < db.DbSdeUserList.Count; i++)
                {
                    DbSdeUser    dbsdeuser    = db.DbSdeUserList[i];
                    dbSdeUserSet dbsdeuserset = new dbSdeUserSet();
                    dbsdeuserset.SetValue(dbsdeuser);
                    DbSetControlAdd(dbsdeuserset);
                }
            }



            //设置system用户
            if (db.DbSystemUser != null)
            {
                dbSystemuserSet dbsystemuserset = new dbSystemuserSet();
                dbsystemuserset.SetValue(db.DbSystemUser);
                DbSetControlAdd(dbsystemuserset);

                //设置数据源
                dbSet dbset = new dbSet();
                dbset.SetValue(db);
                dbset.SetSystemUserSet(dbsystemuserset);
                DbSetControlAdd(dbset);
            }
        }
Exemple #7
0
        public Object getValue()
        {
            DbSdeUser dbsdeuser = new DbSdeUser();

            dbsdeuser.Name         = this.txt_name.Text;
            dbsdeuser.Label        = this.txt_label.Text;
            dbsdeuser.Tablespace   = this.txt_tablespace.Text;
            dbsdeuser.User         = this.txt_user.Text;
            dbsdeuser.Password     = this.txt_password.Text;
            dbsdeuser.Gdbfile      = this.txt_gdbpath.Text;
            dbsdeuser.Relativepath = this.txt_relativepath.Text;

            return(dbsdeuser);
        }
Exemple #8
0
        private void btnCreateSde_Click(object sender, EventArgs e)
        {
            setArcgis.init();
            EngineDatabase engine = new EngineDatabase();

            Db db = QuickConfig.Common.setXml.getConfig(ConfigName).Db;

            try
            {
                setDB setdb = new setDB(db.DbSystemUser.User, db.DbSystemUser.Password, db.Datasource);
                foreach (Control ctl in dbControlList)
                {
                    if (ctl is gdbChoose && ((gdbChoose)ctl).Check == true)
                    {
                        string    Name      = ((gdbChoose)ctl).Name;
                        DbSdeUser dbsdeuser = db.DbSdeUserList.Find((DbSdeUser ds) => ds.Name == Name);

                        if (setdb.isUserExist(dbsdeuser.User))
                        {
                            // MessageBox.Show("现势库已存在");

                            if (MessageBox.Show("现势库已存在,是否删除已有的现势库", "确认", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
                            {
                                bool res = setdb.deleteUser(dbsdeuser.User);
                                if (res == true)
                                {
                                    MessageBox.Show("现势库删除成功!");
                                }
                                else
                                {
                                    MessageBox.Show("现势库删除失败!");
                                }
                            }
                        }
                        else
                        {
                            string ans1 = engine.createSDE("Oracle", db.Datasource, db.DbSystemUser.User, db.DbSystemUser.Password, dbsdeuser.User, dbsdeuser.Password, dbsdeuser.Tablespace, Common.getSdeEcpFile());
                            setdb.grantUser(dbsdeuser.User);
                            MessageBox.Show("现势库创建结果如下:\r\n" + ans1);
                        }
                    }
                }
            }
            catch (Exception eg)
            {
                MessageBox.Show(eg.Message.ToString());
            }

            MessageBox.Show("企业空间库操作结束");
        }
Exemple #9
0
        private void btnCreateTablespace_Click(object sender, EventArgs e)
        {
            Db db = QuickConfig.Common.setXml.getConfig(ConfigName).Db;

            try
            {
                setDB  setdb  = new setDB(db.DbSystemUser.User, db.DbSystemUser.Password, db.Datasource);
                string ansStr = "开始创建表空间\r\n";
                foreach (Control ctl in dbControlList)
                {
                    if (ctl is dmpChoose && ((dmpChoose)ctl).Check == true)
                    {
                        string Name   = ((dmpChoose)ctl).Name;
                        DbUser dbuser = db.DbUserList.Find((DbUser ds) => ds.Name == Name);
                        bool   ans    = setdb.createTabelspace(dbuser.Tablespace, db.Datafolder + "\\" + dbuser.Tablespace + ".DBF", "50m");
                        if (ans == true)
                        {
                            ansStr += "表空间 " + dbuser.Tablespace + "创建成功\r\n";
                        }
                        else
                        {
                            ansStr += "表空间" + dbuser.Tablespace + "创建失败\r\n";
                        }
                    }

                    else if (ctl is gdbChoose && ((gdbChoose)ctl).Check == true)
                    {
                        string    Name      = ((gdbChoose)ctl).Name;
                        DbSdeUser dbsdeuser = db.DbSdeUserList.Find((DbSdeUser ds) => ds.Name == Name);
                        bool      ans       = setdb.createTabelspace(dbsdeuser.Tablespace, db.Datafolder + "\\" + dbsdeuser.Tablespace + ".DBF", "50m");
                        if (ans == true)
                        {
                            ansStr += "表空间" + dbsdeuser.Tablespace + "创建成功\r\n";
                        }
                        else
                        {
                            ansStr += "表空间" + dbsdeuser.Tablespace + "创建失败\r\n";
                        }
                    }
                }
                ansStr += "结束创建\r\n";
                MessageBox.Show(ansStr);
            }
            catch (Exception eg)
            {
                MessageBox.Show(eg.Message.ToString());
            }
        }
Exemple #10
0
        private void btnInitSde_Click(object sender, EventArgs e)
        {
            if (MessageBox.Show("初始化空间库,会删除空间库原有内容,\r\n,请先备空间库库!\r\n继续请点击确定,放弃请点击取消。", "初始化空间库", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2) == DialogResult.Cancel)
            {
                return;
            }

            if (!checkSDEimportSet())
            {
                return;
            }
            //初始化 esri授权
            setArcgis.init();
            setArcgis.grant();

            EngineDatabase engine = new EngineDatabase();

            Db db = QuickConfig.Common.setXml.getConfig(ConfigName).Db;

            try
            {
                setDB setdb = new setDB(db.DbSystemUser.User, db.DbSystemUser.Password, db.Datasource);
                foreach (Control ctl in dbControlList)
                {
                    if (ctl is gdbChoose && ((gdbChoose)ctl).Check == true)
                    {
                        string    Name      = ((gdbChoose)ctl).Name;
                        DbSdeUser dbsdeuser = db.DbSdeUserList.Find((DbSdeUser ds) => ds.Name == Name);


                        string ans1 = "";
                        if (setdb.isUserExist(dbsdeuser.User))
                        {
                            setdb.grantUser(dbsdeuser.User);
                            ans1 += "用户 " + dbsdeuser.User + "授权成功\r\n";
                        }
                        ans1 += engine.importGDB2SDEWithWorkspace(db.Ip, "sde:oracle10g:" + db.Datasource, dbsdeuser.User, dbsdeuser.Password, dbsdeuser.Gdbfile, db.CS_TYPE, db.WKID, db.Prjpath);
                        MessageBox.Show(dbsdeuser.Label + "创建结果如下:\r\n" + ans1);
                    }
                }
            }
            catch (Exception eg)
            {
                MessageBox.Show(eg.Message.ToString());
            }

            MessageBox.Show("企业空间库初始化完成");
        }
Exemple #11
0
        private void btnSaveConfig_Click(object sender, EventArgs e)
        {
            if (allControl.Count > 0)
            {
                #region  序
                Control    mfctl = allControl.Find((Control ctl) => (ctl is mainFolder));
                Apps       apps  = new Apps();
                mainFolder mf    = mfctl as mainFolder;
                apps.Name  = mf.Name;
                apps.Label = mf.Label;
                apps.Path  = mf.FolderPath;


                //-- 服务
                List <ServiceApp> serviceapps = new List <ServiceApp>();
                List <Control>    servicesctl = allControl.FindAll((Control ctl) => (ctl is serviceSet));
                if (servicesctl != null && servicesctl.Count > 0)
                {
                    foreach (Control ctl in servicesctl)
                    {
                        serviceSet serviceset = ctl as serviceSet;
                        ServiceApp serviceapp = new ServiceApp();
                        serviceapp.Name         = serviceset.Name;
                        serviceapp.Label        = serviceset.Label;
                        serviceapp.Path         = serviceset.FolderPath;
                        serviceapp.ConfigFolder = serviceset.ConfigFolder;
                        serviceapp.Ip           = serviceset.Ip;
                        serviceapp.Port         = serviceset.Port;

                        ServiceApp oldServiceapp = configset.Apps.ServiceAppList.Find((ServiceApp sa) => sa.Name == serviceset.Name);
                        serviceapp.Relativepath = oldServiceapp.Relativepath;
                        serviceapp.Servicename  = oldServiceapp.Servicename;
                        serviceapp.Installbat   = oldServiceapp.Installbat;
                        serviceapp.Removebat    = oldServiceapp.Removebat;
                        serviceapps.Add(serviceapp);
                    }
                }
                apps.ServiceAppList = serviceapps;
                //-- 网站
                List <WebApp>  webapps    = new List <WebApp>();
                List <Control> webappsctl = allControl.FindAll((Control ctl) => (ctl is webSiteSet));
                if (webappsctl != null && webappsctl.Count > 0)
                {
                    foreach (Control ctl in webappsctl)
                    {
                        webSiteSet websiteset = ctl as webSiteSet;
                        WebApp     webapp     = new WebApp();
                        webapp.Name         = websiteset.Name;
                        webapp.Label        = websiteset.Label;
                        webapp.Path         = websiteset.FolderPath;
                        webapp.ConfigFolder = websiteset.ConfigFolder;
                        webapp.SiteName     = websiteset.SiteName;
                        webapp.Ip           = websiteset.Ip;
                        webapp.Port         = websiteset.Port;
                        webapp.X86bit       = websiteset.X86bit;

                        WebApp oldWebapp = configset.Apps.WebAppList.Find((WebApp sa) => sa.Name == websiteset.Name);
                        webapp.Relativepath = oldWebapp.Relativepath;

                        webapp.VirtualDirList = websiteset.VirtualDirList;

                        webapps.Add(webapp);
                    }
                }
                apps.WebAppList = webapps;

                //--程序
                List <App>     appList = new List <App>();
                List <Control> appsctl = allControl.FindAll((Control ctl) => (ctl is appFolder));
                if (appsctl != null && appsctl.Count > 0)
                {
                    foreach (Control ctl in appsctl)
                    {
                        appFolder appfolder = ctl as appFolder;
                        App       app       = new App();
                        app.Name         = appfolder.Name;
                        app.Label        = appfolder.Label;
                        app.Path         = appfolder.FolderPath;
                        app.ConfigFolder = appfolder.ConfigFolder;

                        App oldApp = configset.Apps.AppList.Find((App sa) => sa.Name == appfolder.Name);
                        app.Relativepath = oldApp.Relativepath;

                        appList.Add(app);
                    }
                }
                apps.AppList = appList;

                //--ftp站点
                List <Ftp>     ftpList = new List <Ftp>();
                List <Control> ftpsctl = allControl.FindAll((Control ctl) => (ctl is ftpSiteSet));
                if (ftpsctl != null && ftpsctl.Count > 0)
                {
                    foreach (Control ctl in ftpsctl)
                    {
                        ftpSiteSet ftpsiteset = ctl as ftpSiteSet;
                        Ftp        ftp        = new Ftp();
                        ftp.Name     = ftpsiteset.Name;
                        ftp.Label    = ftpsiteset.Label;
                        ftp.Path     = ftpsiteset.FolderPath;
                        ftp.Ip       = ftpsiteset.Ip;
                        ftp.User     = ftpsiteset.User;
                        ftp.Password = ftpsiteset.Password;

                        Ftp oldFtp = configset.Apps.FtpList.Find((Ftp sa) => sa.Name == ftpsiteset.Name);
                        ftp.Relativepath = oldFtp.Relativepath;

                        ftpList.Add(ftp);
                    }
                }
                apps.FtpList = ftpList;

                //--共享目录
                List <Gxml>    gxmlList = new List <Gxml>();
                List <Control> gxmlsctl = allControl.FindAll((Control ctl) => (ctl is gxmlSet));
                if (gxmlsctl != null && gxmlsctl.Count > 0)
                {
                    foreach (Control ctl in gxmlsctl)
                    {
                        gxmlSet gxmlset = ctl as gxmlSet;
                        Gxml    gxml    = new Gxml();
                        gxml.Name     = gxmlset.Name;
                        gxml.Label    = gxmlset.Label;
                        gxml.Path     = gxmlset.FolderPath;
                        gxml.Ip       = gxmlset.Ip;
                        gxml.User     = gxmlset.User;
                        gxml.Password = gxmlset.Password;

                        Gxml oldGxml = configset.Apps.GxmlList.Find((Gxml sa) => sa.Name == gxmlset.Name);
                        gxml.Relativepath = oldGxml.Relativepath;

                        gxmlList.Add(gxml);
                    }
                }
                apps.GxmlList = gxmlList;
                #endregion


                #region 数据
                Control       datasourcectl = allControl.Find((Control ctl) => (ctl is dbSet));
                Control       dataimpctl    = allControl.Find((Control ctl) => (ctl is impdataFolder));
                dbSet         dbset         = datasourcectl as dbSet;
                impdataFolder impdatafolder = dataimpctl as impdataFolder;
                Db            db            = new Db();
                db.Name            = dbset.Name;
                db.Label           = impdatafolder.Label;
                db.Ip              = dbset.Ip;
                db.Datasource      = dbset.Datasource;
                db.Datafolder_type = dbset.DataFolder_type;
                db.Datafolder      = dbset.DataFolder;
                db.Relativepath    = configset.Db.Relativepath;

                Control scs = allControl.Find((Control ctl) => (ctl is sdeCoordinateSystemSet));
                if (scs != null)
                {
                    db.CS_TYPE = ((sdeCoordinateSystemSet)scs).CS_TYPE;
                    db.WKID    = ((sdeCoordinateSystemSet)scs).WKID;
                    db.Prjpath = ((sdeCoordinateSystemSet)scs).Prjpath;
                }
                else
                {
                    db.CS_TYPE = "";
                    db.WKID    = "";
                    db.Prjpath = "";
                }

                db.Impfolder = impdatafolder.FolderPath;

                //-- system用户
                Control         systemuserctl   = allControl.Find((Control ctl) => (ctl is dbSystemuserSet));
                dbSystemuserSet dbsystemuserset = systemuserctl as dbSystemuserSet;
                DbSystemUser    dbsystemuser    = new DbSystemUser();
                dbsystemuser.Name     = dbsystemuserset.Name;
                dbsystemuser.Label    = dbsystemuserset.Label;
                dbsystemuser.User     = dbsystemuserset.User;
                dbsystemuser.Password = dbsystemuserset.Password;

                db.DbSystemUser = dbsystemuser;
                //-- 普通用户
                List <DbUser>  dbuserList = new List <DbUser>();
                List <Control> dbusersctl = allControl.FindAll((Control ctl) => (ctl is dbUserSet));
                if (dbusersctl != null && dbusersctl.Count > 0)
                {
                    foreach (Control ctl in dbusersctl)
                    {
                        dbUserSet dbuserset = ctl as dbUserSet;
                        DbUser    dbuser    = new DbUser();
                        dbuser.Name       = dbuserset.Name;
                        dbuser.Label      = dbuserset.Label;
                        dbuser.Tablespace = dbuserset.Tablespace;
                        dbuser.User       = dbuserset.User;
                        dbuser.Password   = dbuserset.Password;

                        Control   dmpchoosectl = allControl.Find((Control cc) => (cc is dmpChoose) && ((cc as dmpChoose).Name == dbuserset.Name));
                        dmpChoose dmpchoose    = dmpchoosectl as dmpChoose;
                        dbuser.Dmpfile = dmpchoose.FilePath;

                        DbUser oldDbuser = configset.Db.DbUserList.Find((DbUser sa) => sa.Name == dbuserset.Name);
                        dbuser.Relativepath = oldDbuser.Relativepath;

                        dbuserList.Add(dbuser);
                    }
                }
                db.DbUserList = dbuserList;
                //-- sde 用户
                List <DbSdeUser> dbsdeuserList = new List <DbSdeUser>();
                List <Control>   dbsdeusersctl = allControl.FindAll((Control ctl) => (ctl is dbSdeUserSet));
                if (dbsdeusersctl != null && dbsdeusersctl.Count > 0)
                {
                    foreach (Control ctl in dbsdeusersctl)
                    {
                        dbSdeUserSet dbsdeuserset = ctl as dbSdeUserSet;
                        DbSdeUser    dbsdeuser    = new DbSdeUser();
                        dbsdeuser.Name       = dbsdeuserset.Name;
                        dbsdeuser.Label      = dbsdeuserset.Label;
                        dbsdeuser.Tablespace = dbsdeuserset.Tablespace;
                        dbsdeuser.User       = dbsdeuserset.User;
                        dbsdeuser.Password   = dbsdeuserset.Password;
                        Control   gdbchoosectl = allControl.Find((Control cc) => (cc is gdbChoose) && ((cc as gdbChoose).Name == dbsdeuserset.Name));
                        gdbChoose gdbchoose    = gdbchoosectl as gdbChoose;
                        dbsdeuser.Gdbfile = gdbchoose.FolderPath;

                        DbSdeUser oldDbsdeuser = configset.Db.DbSdeUserList.Find((DbSdeUser sa) => sa.Name == dbsdeuserset.Name);
                        dbsdeuser.Relativepath = oldDbsdeuser.Relativepath;

                        dbsdeuserList.Add(dbsdeuser);
                    }
                }
                db.DbSdeUserList = dbsdeuserList;
                #endregion
                #region 参数
                Pars           pars    = new Pars();
                List <Par>     parList = new List <Par>();
                List <Control> parsctl = allControl.FindAll((Control ctl) => (ctl is parSet));
                if (parsctl != null && parsctl.Count > 0)
                {
                    foreach (Control ctl in parsctl)
                    {
                        parSet parset = ctl as parSet;
                        Par    par    = new Par();
                        par.Key   = parset.Key;
                        par.Label = parset.Label;
                        par.Value = parset.Value;

                        parList.Add(par);
                    }
                }
                pars.ParList = parList;
                #endregion

                #region 工具
                Definebtns definebtns = new Definebtns();


                List <Btn>     btnList = new List <Btn>();
                List <Control> btnsctl = allControl.FindAll((Control ctl) => (ctl is btnSet));
                if (btnsctl != null && btnsctl.Count > 0)
                {
                    foreach (Control ctl in btnsctl)
                    {
                        btnSet btnset = ctl as btnSet;
                        Btn    btn    = new Btn();
                        btn = btnset.btn;
                        btnList.Add(btn);
                    }
                }

                definebtns.BtnList = btnList;



                #endregion


                #region 备份
                Backup           backup              = new Backup();
                Control          backupfolderctl     = allControl.Find((Control ctl) => (ctl is backupFolder));
                backupFolder     backupfolder        = backupfolderctl as backupFolder;
                Control          backupcontentsetctl = allControl.Find((Control ctl) => (ctl is backupContentSet));
                backupContentSet backupcontentset    = backupcontentsetctl as backupContentSet;
                Control          backupsetctl        = allControl.Find((Control ctl) => (ctl is backupSet));
                backupSet        backupset           = backupsetctl as backupSet;

                backup.Name           = backupfolder.Name;
                backup.Label          = backupfolder.Label;
                backup.Content        = backupcontentset.BackupContent;
                backup.Path           = backupfolder.BackupFolderPath;
                backup.Type           = backupset.Type;
                backup.Type_daytime   = backupset.Type_daytime;
                backup.Type_week      = backupset.Type_week;
                backup.Type_weektime  = backupset.Type_weektime;
                backup.Type_month     = backupset.Type_month;
                backup.Type_monthtime = backupset.Type_monthtime;


                #endregion


                //保存成Set
                configset.Apps       = apps;
                configset.Db         = db;
                configset.Pars       = pars;
                configset.Definebtns = definebtns;
                configset.Backup     = backup;
                saveConfig();

                setMessage.MessageShow("", "保存成功!", this.btnSaveConfig);
            }
        }
Exemple #12
0
        public void backup(Set set, string toolsFolder, string toolsTempFolder)
        {
            BackupContents bcs = new BackupContents();

            bcs = JsonClassHelper.Json2Class <BackupContents>(set.Backup.Content);

            if (bcs == null || bcs.content == null)
            {
                return;
            }
            else
            {
                exp_tem_path = toolsFolder;
                exp_path     = toolsTempFolder;
                dayString    = DateTime.Now.Year + "-" + (DateTime.Now.Month < 10 ? "0" + DateTime.Now.Month : DateTime.Now.Month + "") + "-" + (DateTime.Now.Day < 10 ? "0" + DateTime.Now.Day : DateTime.Now.Day + ""); //DateTime.Now.ToShortDateString();
                string timeString = DateTime.Now.Hour.ToString() + "-" + DateTime.Now.Minute.ToString() + "--" + DateTime.Now.Second.ToString();

                backup_path = set.Backup.Path + "\\backup-" + dayString + "\\" + timeString;
                if (!System.IO.Directory.Exists(backup_path))
                {
                    System.IO.Directory.CreateDirectory(backup_path);
                }


                setConfig setconfig = new setConfig();
                string    ansStr    = "开始备份数据\r\n";


                if (bcs.content.Find((BackupContent bc) => bc.Name == "sde") != null && bcs.content.Find((BackupContent bc) => bc.Name == "sde").Type.Count > 0)
                {
                    //备份 sde库
                    //初始化 esri授权
                    setArcgis.init();
                    setArcgis.grant();
                }


                foreach (BackupContent bc in bcs.content)
                {
                    if (bc.Type == null)
                    {
                        continue;
                    }


                    foreach (BackupContentType bctype in bc.Type)
                    {
                        if (bc.Name == "dmp")
                        {
                            string name   = bctype.Name;
                            DbUser dbuser = set.Db.DbUserList.Find((DbUser du) => du.Name == name);

                            if (bctype.Set != null && bctype.Set.Count > 0)
                            {
                                string    remoteInfo  = bctype.Set.Find((BackupContentSet bcsset) => bcsset.SetKey == "remoteInfo").SetValue;
                                string [] remoteInfos = remoteInfo.Split(',');

                                setBAT.OracleExpdp(exp_tem_path, exp_path, dbuser.User, dbuser.Password, set.Db.Datasource, dbuser.Label, backup_path, remoteInfos[0], remoteInfos[1], remoteInfos[2], bctype.getValueList("excludeTable"), true);
                                setBAT.FilePackage(exp_tem_path, exp_path, "正在压缩" + dbuser.Label + "dmpdp文件", backup_path + "\\EXP-" + dbuser.User.ToUpper() + ".DMPDP", backup_path + "\\exp-" + dbuser.User, false, null, null, true);
                                File.Delete(backup_path + "\\exp-" + dbuser.User + ".dmpdp");
                                ansStr += dbuser.Label + "数据expdp导出完成\r\n";
                            }
                            else
                            {
                                setBAT.OracleExp(exp_tem_path, exp_path, dbuser.User, dbuser.Password, set.Db.Datasource, dbuser.Label, backup_path, true);
                                setBAT.FilePackage(exp_tem_path, exp_path, "正在压缩" + dbuser.Label + "dmp文件", backup_path + "\\exp-" + dbuser.User + ".dmp", backup_path + "\\exp-" + dbuser.User, false, null, null, true);
                                File.Delete(backup_path + "\\exp-" + dbuser.User + ".dmp");
                                ansStr += dbuser.Label + "数据导出完成\r\n";
                            }
                        }
                        else if (bc.Name == "app")
                        {
                            string type = bctype.Type;
                            string name = bctype.Name;

                            string labelStr    = "";
                            string appfolder   = "";
                            string appfilename = "";

                            dynamic typeObject = System.Reflection.Assembly.Load("QuickConfig.Model").CreateInstance(type, false);;

                            if (typeObject is ServiceApp)
                            {
                                ServiceApp dbuser = set.Apps.ServiceAppList.Find((ServiceApp du) => du.Name == name);
                                labelStr    = dbuser.Label;
                                appfolder   = dbuser.Path;
                                appfilename = dbuser.Label;
                            }
                            else if (typeObject is WebApp)
                            {
                                WebApp dbuser = set.Apps.WebAppList.Find((WebApp du) => du.Name == name);
                                labelStr    = dbuser.Label;
                                appfolder   = dbuser.Path;
                                appfilename = dbuser.Label;
                            }
                            else if (typeObject is App)
                            {
                                App dbuser = set.Apps.AppList.Find((App du) => du.Name == name);
                                labelStr    = dbuser.Label;
                                appfolder   = dbuser.Path;
                                appfilename = dbuser.Label;
                            }
                            else if (typeObject is Ftp)
                            {
                                Ftp dbuser = set.Apps.FtpList.Find((Ftp du) => du.Name == name);
                                labelStr    = dbuser.Label;
                                appfolder   = dbuser.Path;
                                appfilename = dbuser.Label;
                            }
                            else if (typeObject is Gxml)
                            {
                                Gxml dbuser = set.Apps.GxmlList.Find((Gxml du) => du.Name == name);
                                labelStr    = dbuser.Label;
                                appfolder   = dbuser.Path;
                                appfilename = dbuser.Label;
                            }

                            setBAT.FilePackage(exp_tem_path, exp_path, labelStr, appfolder, backup_path + "\\" + appfilename, true, bctype.getValueList("excludeFolder"), bctype.getValueList("excludeFile"), true);

                            ansStr += appfilename + "程序备份完成\r\n";
                        }
                        else if (bc.Name == "sde")
                        {
                            string         name   = bctype.Name;
                            DbSdeUser      dbuser = set.Db.DbSdeUserList.Find((DbSdeUser du) => du.Name == name);
                            EngineDatabase engine = new EngineDatabase();
                            engine.createGDBFile(backup_path, dbuser.Tablespace + ".gdb");
                            string ans1 = engine.exportSDE2GDBWithWorkspace(set.Db.Ip, "sde:oracle10g:" + set.Db.Datasource, dbuser.User, dbuser.Password, backup_path + "\\" + dbuser.Tablespace + ".gdb");
                            // setBAT.FilePackage(exp_tem_path, exp_path, "正在压缩" + dbuser.Label + "gdb文件", backup_path + "\\" + dbuser.Tablespace + ".gdb", backup_path + "\\" + dbuser.User,true,null,null, true);
                            ansStr += dbuser.Label + "导出结果如下:\r\n" + ans1 + "\r\n";

                            ansStr += dbuser.Label + "导出导出完成\r\n";
                        }
                    }
                }
                ansStr += "备份结束\r\n";
                StreamWriter sw = null;
                if (!File.Exists(backup_path + "\\" + dayString + ".log"))
                {
                    //不存在就新建一个文本文件,并写入一些内容
                    sw = File.CreateText(backup_path + "\\" + dayString + ".log");
                }
                else
                {
                    sw = new StreamWriter(backup_path + "\\" + dayString + ".log");
                }

                sw.Write(ansStr);
                sw.Close();
            }
        }
Exemple #13
0
        private void CopyFile(InstallProgress.SetShow setShow)
        {
            this.Invoke(setShow, new object[] { "复制文件", 1 });
            writeLog("复制文件");
            int numStart = 1;
            int numMax   = 15;

            Common.setConfig setconfig = new Common.setConfig();

            Common.setXml setxml = new Common.setXml();

            DataTable dt = setxml.readInstallXML(Tools.getInstallConfigFolder());

            if (dt != null && dt.Rows.Count > 0)
            {
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    string type    = dt.Rows[i]["type"].ToString();
                    string name    = dt.Rows[i]["name"].ToString();
                    string xmlname = dt.Rows[i]["xmlname"].ToString();

                    string packagefilepath = Tools.getInstallPackagesFolder() + "\\" + name + ".7z";
                    string targetFolder    = "";
                    string label           = "";
                    if (type == "serviceapp")
                    {
                        ServiceApp sa = set.Apps.ServiceAppList.Find((ServiceApp du) => du.Name == xmlname);
                        targetFolder = set.Apps.Path + "\\" + sa.Relativepath;
                        label        = sa.Label;
                    }
                    else if (type == "webapp")
                    {
                        WebApp sa = set.Apps.WebAppList.Find((WebApp du) => du.Name == xmlname);
                        targetFolder = set.Apps.Path + "\\" + sa.Relativepath;
                        label        = sa.Label;
                    }
                    else if (type == "app")
                    {
                        App sa = set.Apps.AppList.Find((App du) => du.Name == xmlname);
                        targetFolder = set.Apps.Path + "\\" + sa.Relativepath;
                        label        = sa.Label;
                    }
                    else if (type == "dmp")
                    {
                        DbUser sa = set.Db.DbUserList.Find((DbUser du) => du.Name == xmlname);
                        targetFolder = set.Apps.Path + "\\" + set.Db.Relativepath;
                        label        = sa.Label;
                    }
                    else if (type == "gdb")
                    {
                        DbSdeUser sa = set.Db.DbSdeUserList.Find((DbSdeUser du) => du.Name == xmlname);
                        targetFolder = set.Apps.Path + "\\" + sa.Relativepath;
                        label        = sa.Label;
                    }

                    if (!Directory.Exists(targetFolder))
                    {
                        Directory.CreateDirectory(targetFolder);
                    }

                    Common.setBAT.FileExtract(Tools.getToolsFolder(), Tools.getToolsTempFolder(), label, packagefilepath, targetFolder, false);

                    if (numStart != numMax)
                    {
                        this.Invoke(setShow, new object[] { type + "文件:" + label + "复制完成", numStart });
                        writeLog(type + "文件:" + label + "复制完成");
                        numStart++;
                    }
                }
            }
        }
Exemple #14
0
        private void changeDefaultPath(string mainFolder)
        {
            List <Control> servicectl = allControl.FindAll((Control ctl) => (ctl is serviceSet));

            if (servicectl != null && servicectl.Count > 0)
            {
                foreach (Control ctl in servicectl)
                {
                    ServiceApp serviceapp = set.Apps.ServiceAppList.Find((ServiceApp sa) => sa.Name == ((serviceSet)ctl).Name);

                    ((serviceSet)ctl).FolderPath = mainFolder + "\\" + serviceapp.Relativepath;
                }
            }

            List <Control> websitectl = allControl.FindAll((Control ctl) => (ctl is webSiteSet));

            if (websitectl != null && websitectl.Count > 0)
            {
                foreach (Control ctl in websitectl)
                {
                    WebApp webapp = set.Apps.WebAppList.Find((WebApp sa) => sa.Name == ((webSiteSet)ctl).Name);

                    ((webSiteSet)ctl).FolderPath = mainFolder + "\\" + webapp.Relativepath;
                }
            }

            List <Control> appctl = allControl.FindAll((Control ctl) => (ctl is appFolder));

            if (appctl != null && appctl.Count > 0)
            {
                foreach (Control ctl in appctl)
                {
                    App app = set.Apps.AppList.Find((App sa) => sa.Name == ((appFolder)ctl).Name);

                    ((appFolder)ctl).FolderPath = mainFolder + "\\" + app.Relativepath;
                }
            }

            List <Control> ftpctl = allControl.FindAll((Control ctl) => (ctl is ftpSiteSet));

            if (ftpctl != null && ftpctl.Count > 0)
            {
                foreach (Control ctl in ftpctl)
                {
                    Ftp ftp = set.Apps.FtpList.Find((Ftp sa) => sa.Name == ((ftpSiteSet)ctl).Name);

                    ((ftpSiteSet)ctl).FolderPath = mainFolder + "\\" + ftp.Relativepath;
                }
            }

            List <Control> gxmlctl = allControl.FindAll((Control ctl) => (ctl is gxmlSet));

            if (gxmlctl != null && gxmlctl.Count > 0)
            {
                foreach (Control ctl in gxmlctl)
                {
                    Gxml gxml = set.Apps.GxmlList.Find((Gxml sa) => sa.Name == ((gxmlSet)ctl).Name);

                    ((gxmlSet)ctl).FolderPath = mainFolder + "\\" + gxml.Relativepath;
                }
            }

            List <Control> impdatafolderctl = allControl.FindAll((Control ctl) => (ctl is impdataFolder));

            if (impdatafolderctl != null && impdatafolderctl.Count > 0)
            {
                foreach (Control ctl in impdatafolderctl)
                {
                    ((impdataFolder)ctl).FolderPath = mainFolder + "\\" + set.Db.Relativepath;
                }
            }

            List <Control> dmpctl = allControl.FindAll((Control ctl) => (ctl is dmpChoose));

            if (dmpctl != null && dmpctl.Count > 0)
            {
                foreach (Control ctl in dmpctl)
                {
                    DbUser dbuser = set.Db.DbUserList.Find((DbUser sa) => sa.Name == ((dmpChoose)ctl).Name);

                    ((dmpChoose)ctl).FilePath = mainFolder + "\\" + dbuser.Relativepath;
                }
            }

            List <Control> gdbctl = allControl.FindAll((Control ctl) => (ctl is gdbChoose));

            if (gdbctl != null && gdbctl.Count > 0)
            {
                foreach (Control ctl in gdbctl)
                {
                    DbSdeUser dbsdeuser = set.Db.DbSdeUserList.Find((DbSdeUser sa) => sa.Name == ((gdbChoose)ctl).Name);

                    ((gdbChoose)ctl).FolderPath = mainFolder + "\\" + dbsdeuser.Relativepath;
                }
            }
        }