500 JSON does not allow non-finite numbers

3701
6
12-08-2017 01:25 PM
KimMcDonough
New Contributor II

We get this error from an application ONLY when it queries a particular text field and the value has the letter "E" in it.

If we query the value "75E003300011" we get the error. But if we query "750C17200011" the app returns a record. If we query this same data in ArcGIS desktop, we get no error.

0 Kudos
6 Replies
MelindaMorang
Esri Regular Contributor

You haven't said what the application is or given much context for the problem.  However, it occurs to me that perhaps your query is interpreting the E as "*10^", since the E notation is sometimes used for that.  So maybe it's reading "75E003300011" as "75*10^3300011", which would be a very large number indeed.

0 Kudos
KimMcDonough
New Contributor II

Your explanation makes some sense except the Oracle database defines this field as a text field, so I don’t understand why it would suddenly be reading it as an exponential number. This application has been in place for at least two years but this problem was just reported last week. The application has not changed and the ID field has many instances of an “E” in it. I can’t believe that no one has not queried similar records over a two year time period.

0 Kudos
HillaryBjorstrom
Occasional Contributor

I have this issue as well on a SQL Express Database with a text field. did you find a solution or work around?

0 Kudos
KimMcDonough
New Contributor II

Yes!~ Another voice crying out in the wilderness! This is NOT a problem with the data. For some reason, Arc is interpreting the text field as an Exponential number when it sees an "E". This has to be a bug!

0 Kudos
HillaryBjorstrom
Occasional Contributor

Yes i think it is. I have seen this before in sql when converting data in a view. To get past it there I would use a a cast or convert function in the view. i think something simliar would work here. I am asking our programmer if he can add it into our application. Another option that may help you get by would be to add another field and add a letter in the front like S7E054546110. That may help too.

0 Kudos
HillaryBjorstrom
Occasional Contributor

Also i was able to query outside of my application. Directly in the Rest Service fine. It seems to happen in the application itself.

0 Kudos