当需要对SDE中的要素类和要素数据集(矢量和栅格)进行编辑时,例如在调用IFeatureDataset的CreateFeatureClass方法时,报错提示:

The application is not licensed to create or modify schema for this type of data!

这是提醒需要对许可进行初始化。

初始化方法:

添加License Control控件后修改其属性,勾选AE Enterprise Geo…一项。

Engine许可初始化 - gis开发初步-LMLPHP

注意,开发环境往往会自动勾选“ArcGIS Engine”许可,它是初始化的Engine标准许可,但这里不能同时选上第一项ArcGIS Engine。License Control中多选许是没有意义的,第一个被勾选的许可才生效。

其次,可以通过代码的方式进行初始化。在Form1_Load事件中添加:

[C#]

 IAoInitialize pao = new ESRI.ArcGIS.esriSystem.AoInitialize();
pao.Initialize(esriLicenseProductCode.esriLicenseProductCodeEngineGeoDB);

更进一步,想要知道自己哪些功能成功授权,可以紧接着添加:

 esriLicenseStatus status = pao.IsProductCodeAvailable(esriLicenseProductCode.esriLicenseProductCodeEngineGeoDB);
MessageBox.Show(status.ToString());

在窗体加载之前弹出消息:

Engine许可初始化 - gis开发初步-LMLPHP

这两种方式谁更优先可能由系统决定,不过,反正也没多麻烦,像我一般就双保险了。

05-11 13:21