本帖最后由 piqi8856 于 2012-02-12 00:46:56 编辑

解决方案 »

  1.   

    我也碰到了在VC环境下对Oracle Saptial数据访问的问题。我使用的方法是用ADO进行访问,但是在连接数据库后对数据进行访问时出现了"不识别该字段类型"的错误。不知道楼主有没有碰到过,有的话请多多指教。strSQL.Format(_T("Select fwx.shape as geometry"
                         "from sde.aa fwx "
                         "where projectid = '1'"));
        try
        {
            ipRecordset->Open(_variant_t(strSQL),_variant_t((IDispatch*)g_ipConnection,TRUE),adOpenStatic,adLockOptimistic,adCmdText);
            ipRecordset->Close();
        }
        catch(_com_error &e)
        {
            AfxMessageBox(e.Description());
            return;
        }
      

  2.   

    一开始往oracle spatial里批量插入数据的时候,也是用ado访问的,也出现过类似的问题貌似ADO不支持Oracle Spatial,后面我才改用了OCI~~~
      

  3.   

    已经自己解决了,避免使用大字段,后面采用了第三种方法,速度很快~~~源码借鉴了《oralce spatial 与OCI高级编程》里的 ,修改了它的源码采用了未知select语句的方式绑定,最后用向量存储~~~
      

  4.   

    哈哈,谢谢何老师~~~~最近在研究一个问题,如何快速的获取geometry的边界~~~原先采用的是SELECT min(SDO_GEOM.SDO_MIN_MBR_ORDINATE(t.geom, 1)) from strTableName t但是十几万条数据的时候就会很慢要12S,不知道大家有没有好的方法····
      

  5.   

    已经自己搞定了,后来在一本书里面看到有关索引的信息,查看user_sdo_index_metadata表居然有整个图层坐标边界的字段