Address locator showing up as LOX table in SDE

4117
5
Jump to solution
06-18-2015 01:09 PM
OliverNM
New Contributor

Tried to copy an address locator from a network share to an SDE database, that worked. Tried the same thing on another database (same server) and it shows up in the target geodatabase as an SDE Table with LOX in the name. I know the LOX is part of the address locator. Tried to create a new locator in that database and got the same result, an LOX table. Something in the database ? Using ArcGIS 10.2.2, SDE 10.2.2, and SQL Server 2012.  All processing steps were attempted in arc catalog.

Tags (1)
0 Kudos
1 Solution

Accepted Solutions
ShanaBritt
Esri Regular Contributor

Oliver,

The behavior you are encountering may be related to the bug described here, NIM091041: "Rebuilding or creating an address locator fails for specific enterprise geodatabases."

http://support.esri.com/en/bugs/nimbus/role/beta10_1/TklNMDkxMDQx , which was fixed at version 10.3.1.

The issue is that the string that is being passed for the index name of the command 'TableCreateLongIndex' doesn't have an index name, so it defaults to the fully qualified object name. If the 16th character happens to end with a period, the index fails to create. If the joined database and owner name of the locator table is truncated to 16 characters that result with a period or any special character at the end then the locator fails to build and the _LOX table is left within the SDE database. For example, the fully qualified name of the locator index table is "CONCORD.SDE.Streets_CreateAddressLocator1_lox", but when the index name is truncated to the 16th character the result is "CONCORD.SDE.Stre", which does not end in a period or special character. The locator is created in this case. However, when the fully qualified name of the locator index table is "CONCORD.SDEUSER.Streets_CreateAddressLocator1_lox", the truncated index name is "CONCORD.SDEUSER." , which ends in a period and the locator fails to create and you are left with the _LOX table.

In addition to Joe's response about not storing address locators within an SDE, it is not recommended that address locators be stored in any format geodatabase for performance reasons and if it is to be shared, it should be published to ArcGIS Server and shared as a geocode service. ArcGIS Pro does not support address locators stored in geodatabases and version 10.4+ will not either.

-Shana

View solution in original post

5 Replies
JoeBorgione
MVP Emeritus

Personally I wouldn't have a locator as a database object, especially an SDE database.  My suggestion is to create your locators in a stand alone shared directory and point them to whatever data you want; SDE or otherwise.

That should just about do it....
OliverNM
New Contributor

Something to think about, but regardless of where they should be, WHY is is not showing up as an address locator in this database but working correctly in another databases ?  For example, what needs to be configured ?

0 Kudos
JoeBorgione
MVP Emeritus

Won't even venture a guess since it's not my practice.

That should just about do it....
ShanaBritt
Esri Regular Contributor

Oliver,

The behavior you are encountering may be related to the bug described here, NIM091041: "Rebuilding or creating an address locator fails for specific enterprise geodatabases."

http://support.esri.com/en/bugs/nimbus/role/beta10_1/TklNMDkxMDQx , which was fixed at version 10.3.1.

The issue is that the string that is being passed for the index name of the command 'TableCreateLongIndex' doesn't have an index name, so it defaults to the fully qualified object name. If the 16th character happens to end with a period, the index fails to create. If the joined database and owner name of the locator table is truncated to 16 characters that result with a period or any special character at the end then the locator fails to build and the _LOX table is left within the SDE database. For example, the fully qualified name of the locator index table is "CONCORD.SDE.Streets_CreateAddressLocator1_lox", but when the index name is truncated to the 16th character the result is "CONCORD.SDE.Stre", which does not end in a period or special character. The locator is created in this case. However, when the fully qualified name of the locator index table is "CONCORD.SDEUSER.Streets_CreateAddressLocator1_lox", the truncated index name is "CONCORD.SDEUSER." , which ends in a period and the locator fails to create and you are left with the _LOX table.

In addition to Joe's response about not storing address locators within an SDE, it is not recommended that address locators be stored in any format geodatabase for performance reasons and if it is to be shared, it should be published to ArcGIS Server and shared as a geocode service. ArcGIS Pro does not support address locators stored in geodatabases and version 10.4+ will not either.

-Shana

OliverNM
New Contributor

Shana, been a while since I have been here so I just saw this.

Good information, we ultimately did publish it as a geocode service.

Thanks.

0 Kudos