private void btnTest_Click(object sender, EventArgs e) { Exception err = null; SysCommon.Gis.SysGisDB dbsys = new SysCommon.Gis.SysGisDB(); switch (comBoxType.Text) { case "ESRI文件数据库(*.gdb)": dbsys.SetWorkspace(txtDB.Text, SysCommon.enumWSType.GDB, out err); break; case "ArcSDE(For Oracle)": dbsys.SetWorkspace(txtServer.Text, txtInstance.Text, txtDB.Text, txtUser.Text, txtPassword.Text, txtVersion.Text, out err); break; case "ESRI个人数据库(*.mdb)": dbsys.SetWorkspace(txtDB.Text, SysCommon.enumWSType.PDB, out err); break; } if (err != null) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("连接数据库失败", "原因:" + err.Message); return; } dbsys.Dispose(); btnOK.Enabled = true; }
public override void OnClick() { #region 获取系统维护库连接信息,并将工作空间保存起来 if (ModData.TempWks == null) { bool blnCanConnect = false; SysCommon.Gis.SysGisDB vgisDb = new SysCommon.Gis.SysGisDB(); if (File.Exists(ModData.v_ConfigPath)) { //获得系统维护库连接信息 SysCommon.Authorize.AuthorizeClass.GetConnectInfo(ModData.v_ConfigPath, out ModData.Server, out ModData.Instance, out ModData.Database, out ModData.User, out ModData.Password, out ModData.Version, out ModData.dbType); //连接系统维护库 blnCanConnect = ModDBOperator.CanOpenConnect(vgisDb, ModData.dbType, ModData.Server, ModData.Instance, ModData.Database, ModData.User, ModData.Password, ModData.Version); } else { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "缺失系统维护库连接信息文件:" + ModData.v_ConfigPath + "/n请重新配置"); return; } if (!blnCanConnect) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "系统能够维护库连接失败,请检查!"); return; } ModData.TempWks = vgisDb.WorkSpace; } if (ModData.TempWks == null) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "获取系统维护库工作空间失败,请检查!"); return; } #endregion //获得数据库工程ID //long proID = 0; //工程项目ID //string proIDStr = m_Hook.ProjectTree.SelectedNode.Name; //工程项目ID字符串 //try { proID = Convert.ToInt64(proIDStr); } //catch //{ // SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "获取数据源ID失败!"); // return; //} //进行初始化设置 FrmInitiaRasterCatalog pFrmInitiaRasterCatalog = new FrmInitiaRasterCatalog(ModData.TempWks, m_Hook, EnumRasterOperateType.Update); if (pFrmInitiaRasterCatalog.m_pRootPathfst != "") { pFrmInitiaRasterCatalog.ShowDialog(); } }
public override void OnClick() { if (m_Hook == null) { return; } SaveFileDialog sfd = new SaveFileDialog(); sfd.Title = "选择保存的路径"; sfd.Filter = "Dmp文件|*dmp"; sfd.RestoreDirectory = false; if (File.Exists(Mod.v_ConfigPath)) { //工作库 SysCommon.Gis.SysGisDB vgisDb = new SysCommon.Gis.SysGisDB(); SysCommon.Authorize.AuthorizeClass.GetConnectInfo(Mod.v_ConfigPath, out Mod.Server, out Mod.Instance, out Mod.Database, out Mod.User, out Mod.Password, out Mod.Version, out Mod.dbType); } switch (Mod.dbType) { case "SDE": sfd.Filter = "DMP文件|*.dmp"; break; case "PDB": sfd.Filter = "Access文件|*.mdb"; break; case "GDB": sfd.Filter = "GDB文件|*.gdb"; break; default: break; } if (sfd.ShowDialog() == DialogResult.OK) { SysCommon.CProgress vProgress = new SysCommon.CProgress("进度条"); vProgress.EnableCancel = false; vProgress.ShowDescription = true; vProgress.FakeProgress = true; vProgress.TopMost = true; vProgress.ShowProgress(); string fileName = sfd.FileName; switch (Mod.dbType) { case "SDE": vProgress.SetProgress("备份SDE数据库"); sfd.Filter = "DMP文件|*.dmp"; vProgress.SetProgress("备份SDE数据库" + Mod.User + "用户"); ModSystemExport.ExeCommand("Exp " + Mod.User + "/" + Mod.Password + "@" + Mod.Database + " file=" + fileName.Substring(0, fileName.IndexOf(".")) + "[" + Mod.User + "].dmp log=" + fileName.Substring(0, fileName.IndexOf(".")) + "[" + Mod.User + "]"); System.Threading.Thread.Sleep(20000); vProgress.SetProgress("备份SDE数据库sde用户"); ModSystemExport.ExeCommand("Exp sde/sde@" + Mod.Database + " file=" + fileName.Substring(0, fileName.IndexOf(".")) + "_sde.dmp log=" + fileName.Substring(0, fileName.IndexOf(".")) + "_sde"); System.Threading.Thread.Sleep(20000); break; case "PDB": vProgress.SetProgress("备份Access数据库"); sfd.Filter = "Access文件|*.mdb"; File.Copy(Mod.Server, fileName); break; case "GDB": vProgress.SetProgress("备份GDB数据库"); sfd.Filter = "GDB文件|*.gdb"; CopyGdb(Mod.Server, fileName); break; default: break; } vProgress.Close(); } }
public override void OnClick() { Exception outError = null; ////////guozheng 2011-3-14 added if (this.m_DBConInfoele == null) { return; } string sDBConStr = this.m_DBConInfoele.GetAttribute("数据库连接信息"); string sDBID = this.m_DBConInfoele.GetAttribute("数据库ID"); string sDBType = this.m_DBConInfoele.GetAttribute("数据库类型"); string sDBFormate = this.m_DBConInfoele.GetAttribute("数据库平台"); //cyf 20110603 delete //if (sDBFormate != "ARCGISSDE") return; //end if (string.IsNullOrEmpty(sDBConStr)) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "获取数据库工程的连接信息失败"); return; } //////////不为SDE数据库不进行任务分配/////// /////////首先获取SDE上的Workspace/////////// //cyf 20110603 modify:连接geodatabase //IPropertySet pPropSet = new PropertySetClass(); SysCommon.Gis.SysGisDB pSysDb = new SysCommon.Gis.SysGisDB(); //IWorkspaceFactory pSdeFact = new SdeWorkspaceFactoryClass(); string[] SDEConnectInfo = null; try { SDEConnectInfo = sDBConStr.Split('|'); if (SDEConnectInfo.Length < 7) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "获取数据库工程用户库数据集失败"); return; } //pPropSet.SetProperty("SERVER", SDEConnectInfo[0]); //pPropSet.SetProperty("INSTANCE", SDEConnectInfo[1]); //pPropSet.SetProperty("DATABASE", SDEConnectInfo[2]); //pPropSet.SetProperty("USER", SDEConnectInfo[3]); //pPropSet.SetProperty("PASSWORD", SDEConnectInfo[4]); //pPropSet.SetProperty("VERSION", SDEConnectInfo[5]); //this.m_SDEWs = pSdeFact.Open(pPropSet, 0); if (sDBFormate == enumInterDBFormat.ARCGISGDB.ToString()) { pSysDb.SetWorkspace(SDEConnectInfo[2], SysCommon.enumWSType.GDB, out outError); } else if (sDBFormate == enumInterDBFormat.ARCGISPDB.ToString()) { pSysDb.SetWorkspace(SDEConnectInfo[2], SysCommon.enumWSType.PDB, out outError); } else if (sDBFormate == enumInterDBFormat.ARCGISPDB.ToString()) { pSysDb.SetWorkspace(SDEConnectInfo[0], SDEConnectInfo[1], SDEConnectInfo[2], SDEConnectInfo[3], SDEConnectInfo[4], SDEConnectInfo[5], out outError); } if (outError != null) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "连接Geodatabase库体失败," + outError.Message); return; } this.m_SDEWs = pSysDb.WorkSpace; } catch (Exception eError) { /////系统运行日志 if (null == ModData.SysLog) { ModData.SysLog = new SysCommon.Log.clsWriteSystemFunctionLog(); } ModData.SysLog.Write(eError); SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "连接Geodatabase库体失败," + eError.Message); return; } //end /////////获取本地的任务分配图层,转储至SDE中//////// IDataset pUserDataSet = null; ///////////////////////用户库数据集 IFeatureClass pTaskRangeCls = null; ////////////////Range图层 try { if (SDEConnectInfo[6].Trim() == "") { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "目标库数据集不存在,请先创建数据库!"); return; } pUserDataSet = (this.m_SDEWs as IFeatureWorkspace).OpenFeatureDataset(SDEConnectInfo[6]); Exception ex = null; pTaskRangeCls = CreateTaskRangeLayerInSDE("RANGE", this.m_SDEWs, pUserDataSet, out ex); if (ex != null) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "SDE中建立任务范围图层失败," + ex.Message); return; } } catch (Exception eError) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", eError.Message); if (null == ModData.SysLog) { ModData.SysLog = new SysCommon.Log.clsWriteSystemFunctionLog(); } ModData.SysLog.Write(eError); return; } ////////获取本地的数据库图层,导入至SDE图层中/////////////// FrmGetTaskLayerGuide GetTaskLayerGuideFrm = new FrmGetTaskLayerGuide(m_Hook, this.m_SDEWs, sDBID); GetTaskLayerGuideFrm.ShowDialog(); }