您的位置:首页 > 运维架构

System.Runtime.InteropServices.COMException The Product License has not been initialized. ESRI GeoDatabase

2009-11-18 10:52 1486 查看
//授权信息加载
ESRI.ArcGIS.esriSystem.IAoInitialize m_AoInitialize = new ESRI.ArcGIS.esriSystem.AoInitialize();
m_AoInitialize.Initialize(ESRI.ArcGIS.esriSystem.esriLicenseProductCode.esriLicenseProductCodeArcInfo);
// Create and populate the property set
//ESRI.ArcGIS.esriSystem.IPropertySet propertySet = serverContext.CreateObject("esriSystem.PropertySet") as ESRI.ArcGIS.esriSystem.IPropertySet;
ESRI.ArcGIS.esriSystem.IPropertySet propertySet = new ESRI.ArcGIS.esriSystem.PropertySetClass();
propertySet.SetProperty("SERVER", server);
propertySet.SetProperty("INSTANCE", instance);
propertySet.SetProperty("DATABASE", database);
propertySet.SetProperty("USER", user);
propertySet.SetProperty("PASSWORD", password);
propertySet.SetProperty("VERSION", version);

//实例化为SDE工作空间仓库
ESRI.ArcGIS.Geodatabase.IWorkspaceFactory2 workspaceFactory;
workspaceFactory = (ESRI.ArcGIS.Geodatabase.IWorkspaceFactory2)new ESRI.ArcGIS.DataSourcesGDB.SdeWorkspaceFactoryClass();
//workspaceFactory = (ESRI.ArcGIS.Geodatabase.IWorkspaceFactory)serverContext.CreateObject("esriDataSourcesGDB.SdeWorkspaceFactory")
// as IWorkspaceFactory2;

IWorkspace pWorkspace;
try
{
pWorkspace = workspaceFactory.Open(propertySet, 0);
}
catch
{
pWorkspace = null;
}
return pWorkspace;

=========================================================

2009.11.19 在另一机器上测试时,报错:

服务器出现意外情况。 (异常来自 HRESULT:0x80010105 (RPC_E_SERVERFAULT))

==========================================================

后来把下面这句注释了

//IWorkspaceFactory workspaceFactory = (IWorkspaceFactory)serverContext.CreateObject("esriDataSourcesFile.CadWorkspaceFactory");

同时改为下面的形式

//Create a WorkspaceName object
IWorkspaceName pWorkspaceName = new WorkspaceNameClass();
pWorkspaceName.WorkspaceFactoryProgID = "esriDataSourcesFile.CadWorkspaceFactory";
pWorkspaceName.PathName = path;
IWorkspaceFactory workspaceFactory = pWorkspaceName.WorkspaceFactory as IWorkspaceFactory;

感觉问题还是AE下开发serverContext.CreateObject和new的问题。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐