Ejemplo n.º 1
0
        private void CreateSDE(InstallProgress.SetShow setShow)
        {
            this.Invoke(setShow, new object[] { "创建地理空间库", 26 });
            writeLog("创建地理空间库");
            int numStart = 26;
            int numMax   = 30;

            Common.setArcgis.init();
            Common.EngineDatabase engine = new Common.EngineDatabase();
            try
            {
                Common.setDB setdb = new Common.setDB(set.Db.DbSystemUser.User, set.Db.DbSystemUser.Password, set.Db.Datasource);
                foreach (DbSdeUser dbsdeuser in set.Db.DbSdeUserList)
                {
                    if (setdb.isUserExist(dbsdeuser.User))
                    {
                        if (MessageBox.Show(dbsdeuser.Label + "已存在,是否删除已有的" + dbsdeuser.Label, "确认", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
                        {
                            bool res = setdb.deleteUser(dbsdeuser.User);
                            if (res == true)
                            {
                                //MessageBox.Show(dbsdeuser.Label + "删除成功!");
                                writeLog(dbsdeuser.Label + "删除成功!");
                            }
                            else
                            {
                                //MessageBox.Show(dbsdeuser.Label + "删除失败!");
                                writeLog(dbsdeuser.Label + "删除失败!");
                            }
                        }
                    }
                    else
                    {
                        string ans1 = engine.createSDE("Oracle", set.Db.Datasource, set.Db.DbSystemUser.User, set.Db.DbSystemUser.Password, dbsdeuser.User, dbsdeuser.Password, dbsdeuser.Tablespace, Tools.getSdeEcpFile());
                        setdb.grantUser(dbsdeuser.User);
                        writeLog(ans1);
                        if (numStart != numMax)
                        {
                            this.Invoke(setShow, new object[] { dbsdeuser.Label + "空间库创建结束", numStart });
                            writeLog(dbsdeuser.Label + "空间库创建结果:" + ans1 + "\r\n");
                            writeLog(dbsdeuser.Label + "空间库创建结束");
                        }
                    }
                }
            }
            catch (Exception eg)
            {
                MessageBox.Show(eg.Message.ToString());
            }
            this.Invoke(setShow, new object[] { "企业空间库操作结束", 30 });
            writeLog("企业空间库操作结束");
        }
Ejemplo n.º 2
0
        private void InitSDE(InstallProgress.SetShow setShow)
        {
            this.Invoke(setShow, new object[] { "初始化空间库", 31 });
            writeLog("初始化空间库");
            if (MessageBox.Show("初始化空间库,会删除空间库原有内容,\r\n,请先备空间库库!\r\n继续请点击确定,放弃请点击取消。", "初始化空间库", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2) == DialogResult.Cancel)
            {
                return;
            }

            //初始化 esri授权
            Common.setArcgis.init();
            Common.setArcgis.grant();

            Common.EngineDatabase engine = new Common.EngineDatabase();

            try
            {
                Common.setDB setdb = new Common.setDB(set.Db.DbSystemUser.User, set.Db.DbSystemUser.Password, set.Db.Datasource);
                foreach (DbSdeUser dbsdeuser in set.Db.DbSdeUserList)
                {
                    string ans1 = "";
                    if (setdb.isUserExist(dbsdeuser.User))
                    {
                        setdb.grantUser(dbsdeuser.User);
                        ans1 = "用户 " + dbsdeuser.User + "授权成功\r\n";
                        writeLog(ans1);
                    }
                    ans1 = engine.importGDB2SDEWithWorkspace(set.Db.Ip, "sde:oracle10g:" + set.Db.Datasource, dbsdeuser.User, dbsdeuser.Password, dbsdeuser.Gdbfile, set.Db.CS_TYPE, set.Db.WKID, set.Db.Prjpath);
                    //MessageBox.Show(dbsdeuser.Label + "创建结果如下:\r\n" + ans1);
                    writeLog(dbsdeuser.Label + "创建结果如下:\r\n" + ans1);
                }
            }
            catch (Exception eg)
            {
                // MessageBox.Show(eg.Message.ToString());
                writeLog(eg.Message.ToString());
            }

            // MessageBox.Show("企业空间库初始化完成");
            this.Invoke(setShow, new object[] { "企业空间库初始化完成", 40 });
            writeLog("企业空间库初始化完成");
        }