arcengine sde oracle
ArcEngine是基于.NET Framework的一款GIS开发框架,为开发者提供了一系列便捷的接口和工具,使得GIS开发更加快捷高效。而SDE(Spatial Database Engine)是一种用于管理空间数据的中间件,允许用户将空间数据存储到关系型数据库中。而Oracle作为一种广泛使用的关系型数据库管理系统,也是ArcEngine SDE的一种常见选择。
在使用ArcEngine SDE Oracle时,需要在创建SDE数据库和表格时指定相关参数,比如指定ArcSDE版本和授权级别,设置空间参考系统等等。下面是一部分示例代码:
//创建SDE数据库 ISdeConnectionProperties sdeConnProps = new SdeConnectionProperties(); sdeConnProps.SetToOracle(@".\instance", "sde", "sde", @"C:\Oracle\Client_12_1\dbhome_1\network\admin\tnsnames.ora"); sdeConnProps.Database = "SDE"; sdeConnProps.Version = "dbo.DEFAULT"; sdeConnProps.AuthenticationMode = esriSdeAuthenticationMode.esriSdeAuthSys; sdeConnProps.Server = "localhost"; sdeConnProps.Instance = "sde:oracle11g"; sdeConnProps.User = "sde"; sdeConnProps.Password = "sde"; sdeConnProps.AutomaticDisconnect = true; IWorkspaceFactory2 sdeWsf = new SdeWorkspaceFactoryClass(); IWorkspace sdeWorkspace = sdeWsf.Open(sdeConnProps, 0); //创建表格 IWorkspace2 sdeWorkspace2 = (IWorkspace2)sdeWorkspace; IFeatureWorkspace sdeFWorkspace = (IFeatureWorkspace)sdeWorkspace2; IFields fields = new FieldsClass(); IFieldsEdit fieldsEdit = (IFieldsEdit)fields; IField field = new FieldClass(); IFieldEdit fieldEdit = (IFieldEdit)field; fieldEdit.Name_2 = "OBJECTID"; fieldEdit.Type_2 = esriFieldType.esriFieldTypeOID; fieldsEdit.AddField(field); field = new FieldClass(); fieldEdit = (IFieldEdit)field; fieldEdit.Name_2 = "Name"; fieldEdit.Type_2 = esriFieldType.esriFieldTypeString; fieldEdit.Length_2 = 50; fieldsEdit.AddField(field); sdeFWorkspace.CreateTable("TestTable", fields, @"CREATE UNIQUE INDEX TestTable_IDX ON TestTable (OBJECTID) TABLESPACE sde", null, "");