|
阅读:1943回复:3
[求助]在GDB中存入Raster字段,怎么用VBA取出?[已解决]
我要仿制Identify做一个山寨Identify(老师作业来的) <br/>
然后在取出图片字段时候遇到了问题.<br/> 用IFeature.Value()来取图片的时候,不知道该给这个Variant用什么接口来赋值.<br/> 问了老师,他说用ADO直接进库去读,我发现GDB把栅格存到blk表里面,都打散成好几条记录了,我用VBA不太熟练,拼接二进制的话.说实话没这个本事.<br/> 然后我继续想ArcSDE的办法.<br/> 因为我是安装的SqlServer Express.<br/> SDE用的是ArcSDE for sqlserver Personal<br/> 然后按照VBA手册里面的代码,用WorkspaceFactory来取得一个Workspace,可是不管怎么试,都是提示我"Entry for sde instance not found in services file"...去搜索,得到的都是那个Oracle的解决办法...到处转载,都一样..然后,磨了一下午没有解决.来求助各位大虾们,求指教~<br/> <br/> Email xcssss@sina.com<br/> Q 307828058 <br/> <br/> <font size="8" color="red">解决:我没有用SDE去连,我是用的IFeaute.Value 只要把Variant赋给IRasterValue就OK了~~~!!!!</font> [此贴子已经被作者于2011-11-08 12:29:48编辑过]
|
|
|
1楼#
发布于:2011-11-07 08:00
<p>Entry for sde instance not found in services file的解决方法</p><p>修改C:\Windows\System32\drivers\etc目录下的services文件</p><p>增加一行: esri_sde 5151/tcp #arcsde</p><p><strong>输入完后,记得回车</strong><br/></p>
|
|
|
|
2楼#
发布于:2011-11-07 10:43
<p><font face="Verdana">Set pPropertySet = New PropertySet<br/> With pPropertySet<br/> .SetProperty "server", "SSLAPTOP"<br/> .SetProperty "instance", "SQLEXPRESS"<br/> .SetProperty "database", "VBA"<br/> .SetProperty "user", "sa"<br/> .SetProperty "password", "songshuang"<br/> .SetProperty "version", "sde.DEFAULT"<br/> End With</font></p>
<p> </p> <p>我的连接属性是这样写的</p> <p> </p> <p>我的计算机名是SSLAPTOP 然后 SqlServer的实例名是 SQLEXPRESS sa 和密码我登陆过 可以用的 然后库是VBA</p> <p>这样去链接,按照你所说的改了services文件 依旧提示Entry not found~~~</p> |
|
|
3楼#
发布于:2011-11-07 11:16
<p>前面的应该是实例名,修改成这样试试?</p><p>SQLEXPRESS 5151/tcp #arcsde</p><p>修改完后,机器重启一下</p>
|
|
|