Certain users can't Review/Rematch Addresses using SDE Locator

2978
15
09-14-2011 11:55 AM
JoeHeggenstaller
New Contributor III
I may have found a bug (or a feature) when using geocoding locators stored in SDE. We are in an ArcGIS 10 SP2 environment running on MS SQL Server 2005. We have a user I'll call "GISAdmin" that has SQL Database Role
Membership as a "db_datareader", "db_datawriter", "db_ddladmin", "db_owner". We have a user I'll call "GISUser" that has SQL Database Role Membership as a "db_datareader" on all datasets by default. We use Database
Authentication when making a Spatial Database Connection in ArcCatalog.

Using ArcCatalog I create an ArcGIS 10 geocoding locator, called Addr_Pnt_Locator, using the GISAdmin user in the SDE database. The locator reference dataset is in the same SDE database. Following the ArcGIS 10 Help instructions "Accessing an ArcSDE address locator" I grant the GISUser "Allow this user to use the selected object(s)" privileges to the newly created locator. When I review what has happened in SQL Server I see that the Addr_Pnt_Locator_LOX table now has the GISUser added to its permissions with SELECT permissions.

I then open ArcMap, bring in a File GDB table to geocode, open a connection as the GISUser to the SDE database and add the Addr_Pnt_Locator to the project. When I geocode the table it works fine, until the point where it asks if you want to Review/Rematch. If you choose "yes" you receive the following error "There was an error reading the geocoding information from this dataset." You can't Review/Rematch after the fact using the toolbar button, you receive the same error.

If I do the same test, but use a connection to the database as the GISAdmin user I can Review/Rematch without a problem.

As another test I used SQL Server Management Studio to Grant the GISUser the following additional permissions on the Addr_Pnt_Locator_LOX table: Alter, Delete, Insert and Update. When I attempted to Review/Rematch I received the same error message. I do not want to go so far as to give the GISUser SQL Database Role Membership as a "db_datawriter" because we don't want this user to be able to edit the data in this database.

I know that this error message came up in another forum post, but I don't think the "export unmatched records and re-geocode" is an adequate solution. If the record didn't match the first time I don't think it's going to magically match successive times through the
process. The Review/Rematch functionality should work in the interface so that the human element can triage ambiguous/wrong addresses.

I have come up with a work around, which involves creating an ArcGIS Server Geocoding Service from the address locator and then have the GISUser consume the service in ArcMap. It does allow you to Review/Rematch addesses. If there is anyone out there that has seen this and can provide a solution that would be great. Thanks!
Tags (2)
15 Replies
JoeHeggenstaller
New Contributor III
Joe B.,

Thanks again to you and Bob for all your help. I was hoping that someone from ESRI's geocoding crew would be eavesdropping on this conversation and chime in at some point. No such luck. I'll start the process with tech support and post back here if or when there is an explanation.

Joe H.
0 Kudos
MichelleBoivin
Occasional Contributor
Just to chime in, it is now February 28th and we had the same issue when our emergency response teams were trying to rematch incident addresses from a previously geocoded shapefile. After calling ESRI, here was their response:

"This is Andrew from ESRI Technical Support. I have taken ownership of incident 1005918 and will be assisting you with the issue you are experiencing.

I appreciate the detailed description of the problem that you provided. It seems that you are encountering a bug - NIM065152: "Unable to rematch when geocoding with an ArcSDE address locator, unless the address locator is added to ArcMap as its owner in the DBMS."

You may wish to consider that at version 10.0, it is no longer considered best practice to use ArcSDE for deploying server-side geocoding services. A possible workaround to the issue that you have encountered would be to create the address locator in an file geodatabse and publish the address locator to ArcGIS Server. Please see the following article for more details:
http://resources.arcgis.com/content/kbase?fa=articleShow&d=35871

I have added your incident to NIM065152 - your business is very important to us and I apologize for any inconvenience this may cause."

~Michelle
JoeBorgione
MVP Emeritus
Interesting Michelle- thanks for the update.

Since this original post I've gained an appreciable amount of experience using 10.0 for locators.  Painful at times, but in a good sort of way....

One of the things that I've gone to is creating locators in their own stand-alone directory.  I used to keep them in the same geodatabase as the matching data, address list, and results.  A nice tidy package, but it's been explained to me that keeping a locator in a geodatabase creates a bunch of un-needed over head. For distribution I publish them as suggested in Michelle's thread.

Also noticed in the original post (several months old now) that Joe H was at sp2.  My suggestion is to be sure SP3 is installed and there is a special Geocoding Patch for sp3 available.  See an earlier post of mine for a link to the patch...
That should just about do it....
0 Kudos
JoeHeggenstaller
New Contributor III
Thanks Michelle and Joe B.,

We have deployed ArcGIS Server Geocode  Services that reference the SDE Locators which seems to be working for our users. I developed a template DefaultLocators.xml file that points all our users to our ArcGIS Server Services so that they get them by default in ArcMap/ArcCatolog. Users are able to review/rematch until their hearts are content. We developed a Python script to automatically rebuild the SDE locators and made it a scheduled task. Life is good in geocoding land....

Joe
0 Kudos
MichelleBoivin
Occasional Contributor
Hey Joe,

We did the exact same thing. We set up the python script and set it up as a scheduled task on the server and haven't had any issues since. It's a shame we had to go through all of this to figure it out, but peers are great!

Good luck!
Michelle

Thanks Michelle and Joe B.,

We have deployed ArcGIS Server Geocode  Services that reference the SDE Locators which seems to be working for our users. I developed a template DefaultLocators.xml file that points all our users to our ArcGIS Server Services so that they get them by default in ArcMap/ArcCatolog. Users are able to review/rematch until their hearts are content. We developed a Python script to automatically rebuild the SDE locators and made it a scheduled task. Life is good in geocoding land....

Joe
0 Kudos
Kathleen_Crombez
Occasional Contributor III

This thread is fairly old and I am not certain what version on ArcGIS the user of the original post was referring to...

But I just want to mention that we are still experiencing this issue at version 10.4.1

Thanks for providing the work around by using a geolocator server!

0 Kudos