生成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属于中间件技术,其本身并不能够存储空 ...
随机推荐
- 为什么,博主我要写下这一系列windows实用网络?
发现,随着自身一路过来所学,无论在大数据领域.还是linux or windows里,菜鸟的我慢慢在长大.把自己比作一个园,面积虽在增加,涉及面增多,但圆外的东西,还是那么多. 现在,正值在校读研 ...
- hdu5122 K.Bro Sorting
思路: 模拟. 实现: #include <iostream> #include <cstdio> using namespace std; ], n, t; int main ...
- firefox + pentadactyl 实现纯绿色高效易扩展浏览器(同时实现修改默认状态栏样式)
这几天开始使用firefox+pentadactyl来搭建一个开源.可扩展.完全绿化的浏览器环境,以便随身带着使用,其中firefox的使用了24.0的长期支持版, 这边版本稳定, 快速, 兼容性好, ...
- 更新html技术比较
document.write() document对象的write方法可以很简单的向页面的源代码中添加内容,不过不推荐使用. 优点:可以快速简单的让初学者理解如何向页面添加内容: 缺点: 只有页面初始 ...
- Linux系统硬软信息
系统硬软信息 //获取根用户权限su //升级内核 yum update kernel
- 在添加新内容时,creatat没有数据
首先找到controller中的add方法,然后是执行了Service.insert()方法 然后找到service对应的impl方法, impl方法中的 public void insert(Cus ...
- 抓取猫眼电影top100的正则、bs4、pyquery、xpath实现方法
import requests import re import json import time from bs4 import BeautifulSoup from pyquery import ...
- jquery 五星评价(图片实现)
1111 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <ti ...
- 题解 洛谷P3203/BZOJ2002【[HNOI2010]弹飞绵羊】
裸的LCT,关键是要怎么连边,怎么将这种弹飞关系转化成连边就行了. 那么我们可以这样连边: 一个节点i的爸爸就是i+ki. 没有i+ki那么就被弹飞了,即\(i\)的爸爸是虚拟节点n+1. 那么怎么求 ...
- Reading Lists
* Non-academic 1. Slowing Down to the Speed of Life, by Richard Carlson and Joseph Bailey.2. Your Mo ...