Select to view content in your preferred language

The function ID is out of range

3231
12
08-07-2012 08:21 AM
Alaind_Espaignet
Emerging Contributor
Hi,

I have code that has been working from ArcObjects v 9.31 through 10.0 for more than a year.
I just rebuilt it for ArcObjects 10.1 and all my feature queries are broken because...

ISQLSyntax.GetSpecialCharacter(esriSQL_WildcardManyMatch) returns null
ISQLSyntax.GetSpecialCharacter(esriSQL_DelimitedIdentifierPrefix) returns empty string

ISQLSyntax.GetSpecialCharacter(esriSQL_DelimitedIdentifierSuffix) throws a COM exception with message

The function ID is out of range.

The source is esriDataSourceGDB.SdeWorkspace.1
Error code -2147215854

Is anyone seeing the same behavior?
Is this something that is known to be broken in ArcObjects 10.1?
0 Kudos
12 Replies
JohnHauck
Frequent Contributor
This issue has been logged with support as NIM082786. Please contact ESRI support to have your name added to the list of affected users.
0 Kudos
MikeYeosock
New Contributor
I just migrated from ArcMap version 10.0 to 10.1 and i'm getting the same drawing error on projects where never seen before:

function ID is out of range
0 Kudos
TomLaue
New Contributor
I just migrated from ArcMap version 10.0 to 10.1 and i'm getting the same drawing error on projects where never seen before:

function ID is out of range


I am working in ArcGIS 10.1 and getting the same error message.  The cause for me is when I add a layer to the map (SDE point or polygon, it doesn't matter) and join to a table (either an SDE table or DBF table) and I have labels turned on in the map for that layer.  The labels don�??t have to be for a field that�??s in the join table either.  As I pan around on the map, I receive the ArcMap Drawing Error "The function ID is out of range".

If I turn the labels off, the ArcMap Drawing Error goes away.  If I leave the labels on but remove the join, the ArcMap Drawing Error goes away. 

I tried the same scenario on an ArcMap 10.0 computer and there was no error message.  This bug was introduced in 10.1.

NOTE:  in the scenario where the error message pops up, it's when joining the tax parcels (70,000 polygons) to a table with 100,000 records.  I tried joining a shapefile with 70,000 polygons to a DBF of 75,000 records and no error message.  I also joined an SDE layer of 4,500 polygons to an SDE table of 4,500 records and again no function ID is out of range error message.
0 Kudos
JasonWarzinik
Regular Contributor
I am working in ArcGIS 10.1 and getting the same error message.  The cause for me is when I add a layer to the map (SDE point or polygon, it doesn't matter) and join to a table (either an SDE table or DBF table) and I have labels turned on in the map for that layer.  The labels don�??t have to be for a field that�??s in the join table either.  As I pan around on the map, I receive the ArcMap Drawing Error "The function ID is out of range".

If I turn the labels off, the ArcMap Drawing Error goes away.  If I leave the labels on but remove the join, the ArcMap Drawing Error goes away. 

I tried the same scenario on an ArcMap 10.0 computer and there was no error message.  This bug was introduced in 10.1.

NOTE:  in the scenario where the error message pops up, it's when joining the tax parcels (70,000 polygons) to a table with 100,000 records.  I tried joining a shapefile with 70,000 polygons to a DBF of 75,000 records and no error message.  I also joined an SDE layer of 4,500 polygons to an SDE table of 4,500 records and again no function ID is out of range error message.


Mr. Laue,

Any update on this error; we are seeing the same thing with 10.1 and the ArcMap Drawing Error "The function ID is out of range".  ESRI support's answer is to reload the data into ArcSDE but I am not sure that is the real answer.
0 Kudos
TomLaue
New Contributor
Mr. Laue,

Any update on this error; we are seeing the same thing with 10.1 and the ArcMap Drawing Error "The function ID is out of range".  ESRI support's answer is to reload the data into ArcSDE but I am not sure that is the real answer.


I've just been ignoring the message.  I should mention that we are still using SDE version 9.3.1 if that makes any difference.
0 Kudos
jeffduncan
Emerging Contributor
I am working in ArcGIS 10.1 and getting the same error message.  The cause for me is when I add a layer to the map (SDE point or polygon, it doesn't matter) and join to a table (either an SDE table or DBF table) and I have labels turned on in the map for that layer.  The labels don�??t have to be for a field that�??s in the join table either.  As I pan around on the map, I receive the ArcMap Drawing Error "The function ID is out of range".

If I turn the labels off, the ArcMap Drawing Error goes away.  If I leave the labels on but remove the join, the ArcMap Drawing Error goes away. 

I tried the same scenario on an ArcMap 10.0 computer and there was no error message.  This bug was introduced in 10.1.

NOTE:  in the scenario where the error message pops up, it's when joining the tax parcels (70,000 polygons) to a table with 100,000 records.  I tried joining a shapefile with 70,000 polygons to a DBF of 75,000 records and no error message.  I also joined an SDE layer of 4,500 polygons to an SDE table of 4,500 records and again no function ID is out of range error message.


I get exactly the same error and same results as the above.. is esri doing anything about this?  and it's interesting because if you search on  "function id is out of range"  on esri support you get NOTHING..  even though this is an ESRI software error response.. i guess they have to find the one guy who programmed in this error response, to find out what is and how to fix it..  and I called tech support..  and they had no clue.. and they advised me to test it using  1) shapefiles, 2) fgdb fc's  and 3) sde gdb fc's  ... since when does ESRI want users to test everything.. I know that's their general business model, but not when you call tech support
0 Kudos
RichardBunten
Deactivated User
Contacted ESRI and they are aware of the problem described above.  They don't know why it is happening, but their only fix is to recreate your project from a fresh blank 10.1 .mxd.  Also, don't use old 10.0 layers in this new project. 

I tried this with my parcel sde data joined to a SQL database table and then labeled the parcels with owner name and address. It worked.  I did NOT get the error anymore.  I have 55,000 polygons and about 59,000 records in the SQL table.  I am connecting to a 9.3.1 SDE Enterprise database on SQL 2008 R2.
soniadickerson1
Regular Contributor
Same problem here.  It probably has something to do with the data being in SDE 9.3 and that's why the example with the SQL server table worked whereas the table from SDE 9.3 didn't. 

In my case, I want to publish this mxd as  a map service.  However, once its a map service, the labels don't display at all, so it's still a problem for me.
0 Kudos
BrianButchart
Deactivated User
I have had the same problem and managed to find a solution.  I am using ArcGIS Server 10.1 and ArcSDE 9.3.1.  The solution I found was to change the data source for the join layer to use a direct connection instead of referencing an ArcSDE instance.

Even though connections to an SDE instance are still supported, ESRI recommends using direct connections.  Since migrating to v10.1 I've had a number of problems while using application server connections and I find it is generally a good idea to avoid them if possible.  During the Desktop 10.1 migration we also changed all our connection files to use direct connections (because it was a recommended practice) however most of our mxds still reference the sde instance.  When experiencing problems with mxds created before the migration the first thing I tend to try is changing the connections to direct connect.