阅读:1496回复:0
[求助]按AE开发帮助例子调用createCatalog出错,错误提示是:HRESULT 中的异常:0x8004021F。
<P>创建rastercatalog的代码如下:</P>
<P> Dim pWorkspaceFact As IWorkspaceFactory = New SdeWorkspaceFactory<BR> Dim pConnectionProperties As IPropertySet = New PropertySet<BR> With pConnectionProperties<BR> .SetProperty("SERVER", "homedevelop")<BR> .SetProperty("USER", "sde")<BR> .SetProperty("INSTANCE", "esri_sde")<BR> .SetProperty("PASSWORD", "sde")<BR> .SetProperty("VERSION", "SDE.DEFAULT")<BR> End With<BR> Dim outRasterWorkspace As IRasterWorkspaceEx = pWorkspaceFact.Open(pConnectionProperties, 0)</P> <P> '创建RasterCatalog<BR> Dim outRasterCatalog As IRasterCatalog = createCatalog(outRasterWorkspace, "RSFIVEAMAP", "Raster", "Shape", _<BR> Nothing, Nothing, False, Nothing, "defaults")</P> <P> If outRasterCatalog Is Nothing Then<BR> MsgBox("创建RasterCatalog失败!")<BR> Exit Sub<BR> End If</P> <P> Public Function createCatalog(ByVal rasterWorkspaceEx As IRasterWorkspaceEx, _<BR> ByVal catalogName As String, _<BR> ByVal rasterFieldName As String, _<BR> ByVal shapeFieldName As String, _<BR> ByVal shapeSpatialReference As ISpatialReference, _<BR> ByVal rasterSpatialReference As ISpatialReference, _<BR> ByVal isManaged As Boolean, _<BR> ByVal fields As IFields, _<BR> ByVal keyword As String) As IRasterCatalog</P> <P><BR> If Fields Is Nothing Then<BR> Fields = createFields(rasterFieldName, shapeFieldName, isManaged, shapeSpatialReference, rasterSpatialReference)<BR> End If</P> <P> If keyword.Length = 0 Then<BR> keyword = "defaults"<BR> End If</P> <P> ' create raster catalog<BR> Dim NewRasterCatalog As IRasterCatalog = Nothing<BR> NewRasterCatalog = rasterWorkspaceEx.CreateRasterCatalog(catalogName, Fields, shapeFieldName, rasterFieldName, keyword)</P> <P> Return NewRasterCatalog<BR> End Function<BR></P> <P>其中的函数均来自AE的开发帮助中的例子。错误提示为:"HRESULT 中的异常:0x8004021F。"</P> <P>开发环境是:VB.NET 2003 + ARCENGINE 9.1 + ARCSDE 9.1 + Oracle 9i</P> <P>请高手帮忙分析问题可能出在哪?不胜感激!</P> <P><BR> </P> |
|