Select to view content in your preferred language

Database client software failed to load.

2112
7
11-30-2022 11:09 AM
Labels (1)
BillShoop
Emerging Contributor

In ArcMap 10.8.1 we are faced with a "Cannot connect to database because the database client software failed to load. Be sure the database client software is installed and configured correctly." message when trying to register a 19c Oracle database with a 10.8.1 federated ArcGIS Server. 

The Oracle database, ArcGIS Desktop, and ArcGIS Server are on separate VMs. The ArcGIS Desktop VM has the 32-bit database client installed. While the ArcGIS Server VM has the 64-bit client installed. We restarted each VM after the database client installs, but are still faced with the same error. 

The environment variable PATHs are also configured on each VM. What could be causing this error? Everything seems to be configured and installed.

Any help is appreciated! 

0 Kudos
7 Replies
lvargas
Regular Contributor

Hello @BillShoop 

Do you have the sqlnet.ora and tnsnames.ora files configured and in the corresponding folder?
Also check the communication between the servers and the instance, and verify the port it uses (you could use a telnet <server name> port). It depends on the client you installed, but you could also use in cmd > tnsping <instance name> (configured in the tnsnames file).

Regards.

BillShoop
Emerging Contributor

@lvargas , Thanks for the reply. I have not touched the .ora files. We are using a Easy Connect string to connect to the database in ArcCatalog.

0 Kudos
MarceloMarques
Esri Regular Contributor

Use SQLPlus to test the connection to the Oracle Database, do this on the ArcMap machine and on the ArcGIS Server machine, that is the first step to test if the Oracle Client is working fine, if you are using Oracle Instant Client then make sure to download SQLPlus for Oracle Instant Client and unzip that on the same location of the Oracle Instant Client software, also double check if you set the correct PATH variable, there is one for the system and one for the user. I hope this helps.

------------------------------------------------------------------------------
My YouTube video about How to Install the Oracle Client Software might help as well; video has no audio.
https://youtu.be/ni_j8Rfp0J0 - Oracle 19c Instant Client
https://youtu.be/d7hRCootD9Y - Oracle 19c Full Client

------------------------------------------------------------------------------

Instant Client for Microsoft Windows (x64) 64-bit (oracle.com)

Instant Client for Windows 32-bit (oracle.com)

------------------------------------------------------------------------------

Note: Oracle Instant Client Base Package requires the " Microsoft Visual Studio Redistributable". 

Oracle Instant Client 21.7 requires the Microsoft Visual Studio 2017 Redistributable

------------------------------------------------------------------------------

Note: if you are using TNSNAMES.ORA file then make sure the file is under the correct location, then test the database connection with SQLPlus to make sure the TNSNAMES.ORA file is working.

How do I ensure that my Oracle Net files like "tnsnames.ora" and "sqlnet.ora" are being used in Instant Client?
Files like "tnsnames.ora", "sqlnet.ora" and "oraaccess.xml" will be located by Instant Client by setting the TNS_ADMIN environment variable or registry entry to the directory containing the files.
Use the full directory path; do not include a file name.
Alternatively create a subdirectory "network/admin" under the Instant Client directory for the Oracle Net files. This is the default location and so no TNS_ADMIN variable is required.
*/
--under $ORACLE_CLIENT_HOME/network/admin create a file named sqlnet.ora and add this line to enable windows authentication and save the file

SQLNET.AUTHENTICATION_SERVICES = (NTS)

/*
--example:  sqlnet.ora created under oracle instant client 64-bits (Pro) and 32-bits (ArcMap)
C:\oracle\instantclient_19_6\x32\network\admin
C:\oracle\instantclient_19_6\x64\network\admin

--cmd window, verify PATH variable
echo %PATH%
... ;C:\oracle\instantclient_19_6\x64;C:\oracle\instantclient_19_6\x32; ...
*/

/*
ORA-12638: credential retrieval failed
Workaround if using Oracle Instant Client 19.15
add these lines to sqlnet.ora on client machine:
SQLNET.AUTHENTICATION_SERVICES= (NTS)
SQLNET.NO_NTLM=FALSE
*/
 
| Marcelo Marques | Esri Principal Product Engineer | Cloud & Database Administrator | OCP - Oracle Database Certified Professional | "In 1992, I embarked on my journey with Esri Technology, and since 1997, I have been working with ArcSDE Geodatabases, right from its initial release. Over the past 32 years, my passion for GIS has only grown stronger." | “ I do not fear computers. I fear the lack of them." Isaac Isimov |
BillShoop
Emerging Contributor

@MarceloMarques ,

Thanks a lot for the SQLPlus tip. We were able to identify that our ArcGIS Server was resulting in an access denied message when launching sqlplus unless running it from the cmd prompt as an admin. What we ended up doing was uninstalling the oracle client on the server and reinstalling it not as an admin. We were able to register the database successfully, but still are receiving an error code when publishing relating to the database not being registered. "error 001272: analyzer errors were encountered (codes = 90)"

0 Kudos
MarceloMarques
Esri Regular Contributor

You need to first add the "Database" Data Store to ArcGIS Server, then you will be able to Publish from ArcGIS Pro / ArcMap.

Manage registered data stores—ArcGIS Pro | Documentation

Register your data with ArcGIS Server using ArcGIS Desktop—ArcMap | Documentation

ArcGIS Server Manager > Sites > Data Stores > 

MarceloMarques_0-1669931907454.png

Click "Register: Database" > Click Import > Browse for the Geodatabase Connection File.

MarceloMarques_1-1669932147438.png

Click Create

Click Validate All

Note: if your map document has layers from different geodatabase connection users then you must register each one as a new Data Store in Server Manager.

Please, read carefully the database connection best practices in the link below.
Database Connections Best Practices

I hope this helps.

| Marcelo Marques | Esri Principal Product Engineer | Cloud & Database Administrator | OCP - Oracle Database Certified Professional | "In 1992, I embarked on my journey with Esri Technology, and since 1997, I have been working with ArcSDE Geodatabases, right from its initial release. Over the past 32 years, my passion for GIS has only grown stronger." | “ I do not fear computers. I fear the lack of them." Isaac Isimov |
BillShoop
Emerging Contributor

Hey @MarceloMarques ,

Thanks for the documentation, but these steps have been already taken. The only difference is I completed them in the ArcCatalog pane from ArcMap. I successfully registered the database with ArcGIS Server and they validate successfully.

All layers come from a single geodatabase connection user and upon "Analyze" in the Service Editor window, no errors appear denoting a unregistered layer. Below is the error that pops up when publishing.

BillShoop_0-1669994173975.png

This is what is so frustrating. Everything seems to be in order, but it just doesn't want to publish. Thanks again for helping me on this issue.

Bill

 

0 Kudos
MarceloMarques
Esri Regular Contributor

@BillShoop - please open a ticket with Esri Support if you continue to experience error 001272 to publish the service, see below the workaround.

Problem
Getting message 'error 001272: Analyzer errors were encountered' when trying to publish a map/ feature service

Cause of the Issue
Error 001272 when publishing is generic. https://pro.arcgis.com/en/pro-app/tool-reference/tool-errors-and-warnings/001001-010000/tool-errors-...

The codes that follow the error message tell us more about what is causing the issue. The list of codes and their causes can be found here: https://desktop.arcgis.com/en/arcmap/latest/map/publish-map-services/00001-data-frame-does-not-have-...

ERROR 001272: Analyzer errors were encountered (codes = 90).
00090: <value> requires a registered database—ArcMap | Documentation (arcgis.com)

Sometimes the database connection gets corrupted and prompts for credentials while attempting to access it in ArcMap or ArcCatalog.

Solution to the issue.
Remove and re-add the database connection and attempt to publish the data as services
 
| Marcelo Marques | Esri Principal Product Engineer | Cloud & Database Administrator | OCP - Oracle Database Certified Professional | "In 1992, I embarked on my journey with Esri Technology, and since 1997, I have been working with ArcSDE Geodatabases, right from its initial release. Over the past 32 years, my passion for GIS has only grown stronger." | “ I do not fear computers. I fear the lack of them." Isaac Isimov |
0 Kudos