首先,配置文件,setup.xml
<?xml version="1.0" encoding="utf-8" ?>
<setup>
<ConnectionString>
<oracleconnection>Provider=MSDAORA;Persist Security Info=true;User ID=xxxx;password=xxxx;Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=xxooxooxx)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=orcl)))</oracleconnection>
<GISUSER>xx</GISUSER>
<SDEServer>xxooxooxx</SDEServer>
<SDEInstance>5151</SDEInstance>
<SDEUser>xxxx</SDEUser>
<SDEPwd>xxxx</SDEPwd>
<SDEDatabase>ORCL</SDEDatabase>
<SDEVersion>SDE.DEFAULT</SDEVersion>
<bufferDistance>5</bufferDistance>
<filterDistance>10</filterDistance>
</ConnectionString>
</setup>
其次,读取配置文件,
public static string Get_Xml(string xml_name)
{
XmlDocument xmldoc = new XmlDocument();
xmldoc.Load("./setup.xml");
XmlNodeList nodelist = xmldoc.SelectSingleNode("setup").ChildNodes;//第一个节点
string rusult = nodelist.Item(0).SelectSingleNode(xml_name).InnerText;
return rusult;
}
然后,连接数据库,
private void button3_Click(object sender, EventArgs e)
{
string sdeServer = Get_Xml("SDEServer");
string sdeInstance = Get_Xml("SDEInstance");
string sdeDatabase = Get_Xml("SDEDatabase");
string sdeUser = Get_Xml("SDEUser");
string sdePassword = Get_Xml("SDEPwd");
string sdeVersion = Get_Xml("SDEVersion");
double bufferDis = Convert.ToDouble(Get_Xml("bufferDistance"));
double filterDis = Convert.ToDouble(Get_Xml("filterDistance"));
IWorkspaceFactory sdeWorkspaceFactory;
IFeatureWorkspace workSpace;
try
{
ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.EngineOrDesktop);
//授权信息加载
ESRI.ArcGIS.esriSystem.IAoInitialize m_AoInitialize = new ESRI.ArcGIS.esriSystem.AoInitialize();
m_AoInitialize.Initialize(ESRI.ArcGIS.esriSystem.esriLicenseProductCode.esriLicenseProductCodeArcInfo);
//进行license控件的初始化
IAoInitialize m_pAoInit = new AoInitializeClass();
m_pAoInit.Initialize(esriLicenseProductCode.esriLicenseProductCodeArcServer);
IPropertySet propSet = new PropertySetClass();
propSet.SetProperty("SERVER", sdeServer);
propSet.SetProperty("INSTANCE", sdeInstance);
propSet.SetProperty("USER", sdeUser);
propSet.SetProperty("PASSWORD", sdePassword);
propSet.SetProperty("DATABASE", sdeDatabase);
propSet.SetProperty("VERSION", sdeVersion);
sdeWorkspaceFactory = new SdeWorkspaceFactoryClass();
workSpace = (IFeatureWorkspace)sdeWorkspaceFactory.Open(propSet, 0);
// MessageBox.Show("数据库练级成功!");
//得到路段图层
IFeatureClass pFCLuDuan = (workSpace as IFeatureWorkspace).OpenFeatureClass("路段");
IFeatureLayer pFLLuDuan = new FeatureLayer();
pFLLuDuan.FeatureClass = pFCLuDuan;
pFLLuDuan.Name = "路段";
ILayer pLayer = pFLLuDuan as ILayer;
IMap pMap = axMapControl1.Map;
pMap.AddLayer(pLayer);
axMapControl1.ActiveView.Refresh();
}
catch (Exception ex)
{
}
}
分享到:
相关推荐
运用AO2011“连接大型数据库”模块直连本地SqlServer数据库.pdf
AO2011数据库结构
AO编程和ArcSDE连接SQLserver数据库的最好入门教程!对与搞Gis的绝对有帮助!
Tomcat数据库连接池配置介绍AO,方便大家准确配置数据可连接池
专门为AO2008 审计实施系统开发的小工具,VB语言开发源代码,注释很详细。可选择审计项目,选择项目帐套,点击浏览可打开sjfx.mdb文件所在目录,替换表名、字段名等。为适应2012社保审计做了一些改动,产生并提取...
java桌面程序,已打成jar包,双击运行即可,目前支持oracle、mysql、db2(因没装环境故没测试),oracle、mysql测试通过生成实体类,带comment注释、带get、set方法,
将一个本地SHP文件和一个SDE上的表进行匹配比较,然后生成一个新的SDE要素类。其中涉级到使用AO连接ORACLE数据库的问题和如何从数据库中取出一个表的操作
vb+ao开发的XX市基础地理信息系统源代码,是本人毕业时的课程设计,拿出来给大家啦!!!
AO数据不能加载解决方案:一、检查数据库服务是否启动,二、更新SA操作员密码
分离前的数据库用来部署历史数据库,所以建议使用两台服务器分别部署,也就是要安装两套OA服务器,各自访问各自的数据,由于所有历史数据将会部署到一个服务器,也就是该服务器将安装多套AO,所以需要修改数据库端口...
AO2011采集财务原始数据,常用软件数据库结构(三张表)
AO系统采集天大天财数据库数据方法与技巧
文件等 任务,配置,监视,调整,查询,编程,和分析 关键任务 数据采集;数据存储;数据应用 分布的数据纪录,结构化的查询语言 记录数值的特性 用最小的采集成本记录成本和查询成本跟踪生产实时数据的完整生命 ...
新_地方版计划项目管理OA与AO交互配置说明.pdf
方正春元财务软件在AO系统中的数据库数据采集方法
VBA操作数据库实例 利用ao技术
电信设备-循环式AO移动床生物膜反应器.zip
复合式AO过滤消毒工艺处理高速公路服务区污水是交通环保实现绿色交通的保障
AO910 系列扩散硅压力变送器具有多种型号,多种量程,多种连接形式及材料。可广泛用于石油、化工、电力、冶金、制药、食品等许多工业领域,可适应工业各种场合及介质,是传统压力表及传统压力变送器的理想升级换代...
AO3415中文资料AO3415中文资料