生成sde
/// <summary>
///获取保存的SDE文件
/// </summary>
/// <param name="sdePath"></param>
/// <returns></returns>
public static bool SaveSdeConnectionFile(string sdePath)
{
try
{
// 如果已经存在了,则删除了重新创建
if (File.Exists(sdePath))
{
File.Delete(sdePath);
}
IWorkspaceFactory workspaceFactory = new SdeWorkspaceFactoryClass();
// 创建.sde文件
IWorkspaceName workspaceName = workspaceFactory.Create(Path.GetDirectoryName(sdePath), Path.GetFileNameWithoutExtension(sdePath), InitFromSdeConfig(), );
// 使用.sde文件,通过.sde文件获取IWorkspace,之后就可以对数据库中的数据进行操作了
// IWorkspace pWorkspace = workspaceFactory.OpenFromFile(sdePath, 0);
return true;
}
catch (Exception e)
{
Console.WriteLine(e);
}
return false; }
//获取sde连接串
private static IPropertySet InitFromSdeConfig()
{
string strFilePath = AppConfig.SdeConfig;
if (!File.Exists(strFilePath))
return null;
//读XML
XmlDocument xmldoc = new XmlDocument();
xmldoc.Load(strFilePath); string txtServer = "", txtService = "", txtUserId = "", txtPassword = "";
string type = "";
try
{
XmlNode nodeSde = xmldoc.SelectSingleNode("SDE");
//SDE信息
txtServer = nodeSde.SelectSingleNode("Server").InnerText;
txtService = nodeSde.SelectSingleNode("Service").InnerText;
type = nodeSde.SelectSingleNode("Type").InnerText;
txtUserId = nodeSde.SelectSingleNode("User").InnerText;
txtPassword = nodeSde.SelectSingleNode("Pass").InnerText;
}
catch
{
} IPropertySet mPPropSet = new PropertySetClass();
//string strIsDerect = comboBoxEditType.SelectedIndex.ToString();
//设置SDE连接属性信息:直连或非直连
if (type == "")
{
mPPropSet.SetProperty("SERVER", txtServer);
mPPropSet.SetProperty("INSTANCE", txtService);
//mPPropSet.SetProperty("Database", "");
mPPropSet.SetProperty("AUTHENTICATION_MODE", "DBMS");
mPPropSet.SetProperty("User", txtUserId);
mPPropSet.SetProperty("password", txtPassword);
mPPropSet.SetProperty("version", "SDE.DEFAULT");
}
else if (type == "")
{
mPPropSet.SetProperty("INSTANCE", txtService);
mPPropSet.SetProperty("User", txtUserId);
mPPropSet.SetProperty("password", txtPassword);
mPPropSet.SetProperty("version", "SDE.DEFAULT");
}
_dbConnName = txtService;
return mPPropSet;
} private static string GetSdeConn()
{
string sdeconn = AppConfig.SdeConnString;
if (SdeDbUtil.SaveSdeConnectionFile(sdeconn))
{
return sdeconn;
}
return "";
} //调用执行代码 //如果polyFeatureName的参数为空字符串,则直接进行数据的拷贝工作
//关于SDE要素的连接字符串描述参见:pFieldMappings.AddTable(“C:\\XXX\XXX\\Connection to XXX.sde\\" + pFeatureClass.FeatureDataset.Name + "\\" + pFeatureClass.AliasName) http://blog.sina.com.cn/s/blog_5d25ac4e0100uhob.html
//将分析的数据保存到GDB数据库中
string srcFeatureClassPath = "";
string srcOutPath = "";
string resFeatureOutPath;
string sdeFile = GetSdeConn();
if (string.IsNullOrEmpty(sdeFile))
{
MessageBoxHelper.ShowMessageBox("无法获取成果库的连接!");
return "";
} if (!string.IsNullOrEmpty(pntFeaturnName))
{
string srcDbPath = string.Format(@"{0}\{1}", sdeFile, pntFeaturnName);
string outName = string.IsNullOrEmpty(outFeatureName) ? pntFeaturnName : outFeatureName; srcOutPath = string.Format(@"{0}\{1}", CurrentWorkGdbPath, AnalysisResHelper.GetAnalysisTempName(outName));
GPSelectFeaturesCore selectFeaturesCorePnt = new GPSelectFeaturesCore();
selectFeaturesCorePnt.InputFeatures = srcDbPath;
selectFeaturesCorePnt.OutputFeatureClass = srcOutPath;
selectFeaturesCorePnt.WhereClause = pntFilterCondition;
selectFeaturesCorePnt.DoAnalysis();
}
生成sde的更多相关文章
- [ArcGIS]Oracle RAC下创建地理数据库(Create Enterprise Geodatabase)失败的解决方法
转载请注明原文地址:http://www.cnblogs.com/litou/p/8028843.html 环境:Oracle 11g 11.2.0.1.0(双节点RAC群集),ArcGIS Desk ...
- Oracle 11g数据库详解(2)
FAILED_LOGIN_ATTEMPTS 用于指定连续登陆失败的最大次数 达到最大次数后,用户会被锁定,登陆时提示ORA-28000 UNLIMITED为不限制 精确无误差 是 实时 PASSWOR ...
- 汇总10.4版本ArcGIS Server与ArcMap 安装+SDE+注册数据源(非破解)
文档参考了Server技术支持部各位前辈的总结文档. win10 + Server 10.4 + ArcMap 10.4 + Oracle instant client (32位 和 64位) 安装 ...
- nORA-01000: 超出打开游标的最大数(SDE连接)
1.运行ArcObjects代码报错: IFeatureCursor pCursor = null; try { pCursor = m_pCatchLayer.m_pFeatureClass.Sea ...
- linux性能监控分析及通过nmon_analyse生成分析报表
nmon是一款分析 AIX 和 Linux 性能的免费工具 nmon 工具还可以将相同的数据捕获到一个文本文件,便于以后对报告进行分析和绘制图形.输出文件采用电子表格的格式 (.csv). 性能介绍 ...
- SDE ST_Geometry SQL st_intersects查询很慢的解决方法
环境:服务端 SDE 10.0 oracle 11.2,客户端 PLSQL 11,oracle 11.2 为了调试方便,以下测试都是把sql提取出来在PLSQL上做 需求是已知一个多边形的点坐标,要在 ...
- 通过SQL直接插入、修改ArcGIS SDE空间表中的数据
基于Arcgis Server 10.1 +Oracle 11g环境测试 ArcGIS SDE ? 1 2 INSERT INTO CAMERA_INFO(OBJECTID,ID,SHAPE) ...
- C# : 连接SDE空间数据库时出错
1.SDE认证问题:使用ArcGIS.KeyGen.exe生成一个epp文件方法:-->server-->All-->拷贝并保存为*.epp文件.认证时加载该文件即可认证完毕.2.实 ...
- ArcSDE空间数据库中SDE用户使用探讨(转)
ArcSDE作为空间数据库解决方案,应用非常广泛,本短文将尝试描述SDE的工作机制,简要说明空间数据 库中SDE用户的使用方法. ArcSDE如何工作 ArcSDE属于中间件技术,其本身并不能够存储空 ...
随机推荐
- DatePickerDialog日期对话框以及回调函数的用法
DatePickerDialog类的实例化需要用到回调接口,如下定义: android.app.DatePickerDialog.DatePickerDialog(Context context, O ...
- python对象以及pickle腌制
#python对象 1.什么是python的对象 2.详解pickle腌制 1.什么是python的对象 Python的内置的对象类型主要有数字.字符串.列表.元组.字典.集合等等.其实,在pytho ...
- Git——github高级
分支管理 分支不是越多越好,只求一个稳定的分支,即master不要轻易去更改 对应master要有一个开发者分支,保证mater分支的稳定性 所有的功能都在开发者分支上进行 在所有功能开发后新建发布分 ...
- HDU_1789_doing homework again_贪心
Doing Homework again Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Oth ...
- 设置vscode为中文
设置vscode为中文 ctr+shift+p 输入 configure language 进 en更改为zh-cn , 重启vscode即可 , 如果还不行,就安装插件
- 梦想CAD控件com接口扩展数据
随着CAD应用软件的飞速发展,经常需要保存一些与图形可视性无关的数据,即非图形参数.例如在绘制化验样图中包含品位数据.MxCAD定义了一类参数——实体扩展数据.扩展数据与实体的可视性无关,而是用户根据 ...
- MxCAD5.2 20181022更新
下载地址: http://www.mxdraw.com/ndetail_10108.html 1. 开放VIP功能,无需购买即可使用 2. 修正一些图纸打开和保存出错的问题 3. 修改填充命令,对某些 ...
- 事件的节流(throttle)与防抖(debounce)
事件的节流(throttle)与防抖(debounce) 有些浏览器事件可以在短时间内快速触发多次,比如调整窗口大小或向下滚动页面.例如,监听页面窗口滚动事件,并且用户持续快速地向下滚动页面,那么滚动 ...
- 【原】Mysql常用语句
1.修改编码方式为UTF-8 ALTER TABLE 表名 CHANGE 列名 新列名 VARCHAR(255) CHARACTER SET utf8 COLLATE ...
- angular4打包以后,刷新报404
项目打包以后,上传到服务器,可以正常的切换页面,但是一旦刷新就会报404,找不到页面,其解决方法是:在app.module.ts里面引入下面的模块: import {HashLocationStrat ...