生成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属于中间件技术,其本身并不能够存储空 ...
随机推荐
- UVM基础之---------uvm factory机制register
factory机制的一大特点就是根据类的名字来创建类的实例. factory 机制中根据类名来创建类的实例所用到的技术:一是参数化的类,二是静态变量和静态函数.这两者是factory机制实现的根本所在 ...
- Apache JServ protocol服务 怎么关闭?
Apache JServ protocol = AJP 解决方案:修改tomcat 的service.xml配置文件 将 <Connector port="8009" ...
- 生产环境4.3.5jboss内存调优
1.查看jboss的监控工具 http://XXX/jmx-console/htmladaptor 2.查看jvm的监控工具 jdk\bin jvisualvm.exe jmc.exe 3.查看jbo ...
- PS切图基本操作
PS切图基本操作 2016-05-11 20:56:46| 分类: PhotoShop|字号 订阅 下载LOFTER我的照片书 | 1首先在“文件”中打开一张图片. 2点击“移 ...
- css 实现鼠标滑过流光效果
来划我啊 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <titl ...
- mysql服务无法启动(1067错误)时数据备份的经验
mysql服务无法启动(1067错误)时数据备份的经验 背景 方法 背景 在已安装MySQL5.5的情况下,再次安装 MySQL5.7时,因为MySQL5.7是压缩文件安装的方式,复制MySQL5.5 ...
- selenium下拉滚动条
selenium下拉滚动条 制作人:全心全意 谷歌浏览器下拉滚动条 chrome = webdriver.Chrome() //创建谷歌浏览器对象 url="http://www.baidu ...
- Tampermonkey脚本安装问题及自用脚本推荐
对于高手来说,chrome浏览器中即使没有其他任何chrome插件,可能都无关紧要.但是有一个插件必不可少, 那就是Tampermonkey油猴插件.Tampermonkey是Chrome上最流行的用 ...
- swing之单选框和复选框
import java.awt.Container; import java.awt.GridLayout; import javax.swing.*; public class num_1v ext ...
- 洛谷 1569 [USACO11FEB]属牛的抗议
[题解] 非常显然的DP,f[i]表示到第i个位置最多分成几组,f[i]=Max(f[i],f[j]+1) (j<i,sum[j]<=sum[i]) #include<cstdio& ...