利用ISaveAs 接口保存 GRID 文件时遇到的问题

用ISaveAs 接口保存 GRID 文件时遇到的问题

GIS    2009-09-14 12:33   阅读8   评论0  
字号:    

今天利用isaveas 接口保存GRID文件,每次到了saveas方法,都会报“对 COM 组件的调用返回了错误 HRESULT E_FAIL。”的错误。

首先看仔细的看代码,又看了帮助;
程序写的没有问题

再到网上查找都说:

//------------尝试无用----(不知对你是否有用,先贴出来)----------------------

. 在控制面板--->管理工具--->服务 中,开启Distributed Transaction Coordinator 服务。

2. 打开控制面板--->管理工具--->组件服务--->选择计算机--->我的电脑--->右击属性--->选择MSDTC--->选择安全配置 勾选事务管理器通信中的允许出站、允许入站和不要求进行验证。

如下图所示:

重启IIS

//--------------------------------------------------------------------------------------------------------

 

反正我的问题这样改后没有解决。还浪费了一定的时间。

 

最后:

public IDataset SaveAs (
    string Name,
    IWorkspace pWorkspace,
    string Format
);

其中只有三个参数,Format 肯定没问题("GRID"),那就是name 和PWorkspace 了。 pWorkspace 看帮助都这么写。  难道是name有什么要求。  立马把name参数随便改了一个,保存成功,可以肯定是name的问题了(我原来那个是一堆表示时间的数字,有20多个字符)。

经过用arcmap实验。知道GRID保存时name 是有限定的:

1。字符数不能超过13个。

2.可以包含a-z  ,A-Z ,0-9  ,“-”“_”.  (这个都是一样)

3.必须以字母开头。

 

将name处理为满足上述3点的就可以了。

来自:http://shenyanhong-1.blog.163.com/blog/static/353741200981403352490/

你可能感兴趣的:(String,工具)