Engine许可初始化 - gis开发初步
当需要对SDE中的要素类和要素数据集(矢量和栅格)进行编辑时,例如在调用IFeatureDataset的CreateFeatureClass方法时,报错提示:
The application is not licensed to create or modify schema for this type of data!
这是提醒需要对许可进行初始化。
初始化方法:
添加License Control控件后修改其属性,勾选AE Enterprise Geo…一项。
注意,开发环境往往会自动勾选“ArcGIS Engine”许可,它是初始化的Engine标准许可,但这里不能同时选上第一项ArcGIS Engine。License Control中多选许是没有意义的,第一个被勾选的许可才生效。
其次,可以通过代码的方式进行初始化。在Form1_Load事件中添加:
[C#]
1 IAoInitialize pao = new ESRI.ArcGIS.esriSystem.AoInitialize(); 2 pao.Initialize(esriLicenseProductCode.esriLicenseProductCodeEngineGeoDB);
更进一步,想要知道自己哪些功能成功授权,可以紧接着添加:
1 esriLicenseStatus status = pao.IsProductCodeAvailable(esriLicenseProductCode.esriLicenseProductCodeEngineGeoDB); 2 MessageBox.Show(status.ToString());
在窗体加载之前弹出消息:
这两种方式谁更优先可能由系统决定,不过,反正也没多麻烦,像我一般就双保险了。