3

I have a spatial enabled OLE DB Provider corresponding to OGIS simple feature specification for OLE/COM revision 1.1

I can add spatial data as ArcMap layers successfully using this provider and by making OLE DB connection in "Add Data" menu in ArcMap TOC.All tools in "Tools" toolbar of ArcMap can work with this layers except "Select Features" tool.

When I want to use this tool to select some features of my data,I receive this error:

"There was an error executing the query"

I found that when ArcMap wants to select features of my data source it requests some properties of provider.

it requests 2 propertysets.I can interpret only one of them and the other isn't documented in MS OLE DB Provider toolkit.The first propertyset Id is

{e9be80e6-ffaa-11d0-9a97080009ec734b}

which is unknown for me and I couldn't find it in "oledb.h",and in this propertyset there is only one property id equal to 0.

The second propertyset is DBPROPSET_DATASOURCEINFO and there are 2 property id for DBPROP_MULTIPLESTORAGEOBJECTS and DBPROP_STRUCTUREDSTORAGE and my provider return "VARIANT_TRUE" for first and "DBPROPVAL_SS_ISEQUENTIALSTREAM" for second.

Now,May you help me to find what's wrong with my code?what may be the source of this error.and how can I find the meaning of this unknown property set?ESRI is a member of OGC and says their products support OGC standards explicity,so this code can not be a secret code specific to ESRI providers,sure there is something wrong with my provider but I can't find it.

1 Answer 1

2

I understand you implemented your own OGIS-enabled OLEDB provider for ArcGIS. Not many people have done this, actually. The property set GUID you described is indeed not part of the OLEDB specification and I was unable to find a reference for it anywhere.

What you can do is to get hold of another third-party spatially enabled OLEDB provider (if you can even find one) and see what it returns for this specific property request.

That being said, it's more of blind experimenting than reasonable work, so I believe you will probably be better off contacting ESRI support if you have the EDN subscription.

1
  • Honestly I doubt is it true to swicth from Arc_Object Geodatabase model to OLE DB or not,but you know,in this way it's possible to deal with geodatabase as any normal other database,for example not need to use sdelayer command for setting permissions,and it's possible to send sql command directly to database and have bulk INSERT/UPDATE records instead of falling inside a loop for eavery record(as ArcObject suggests).I thought it maybe a good replacement for sde.After I sent this post,I read a page from MSDN.possible to add custom property to OLEDB provider.thank you very much for you help
    – Reza
    Commented Dec 24, 2010 at 5:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.