Diagnosing SQL Developer Connection Failures: A Practical Checklist
When SQL Developer shows a ‘Network Adapter could not establish the connection’ error, the problem is almost always in the network, listener, TNS, or wallet configuration. This guide walks through the most common causes, quick tests, and how to fix each one on Windows, Linux, and macOS.
04 Dec 2025, 15:33 UTC

Problem Statement
SQL Developer frequently reports one of the following when a connection test or a new session fails:
- IO Error: The Network Adapter could not establish the connection
- ORA‑12170: TNS:Connect timeout occurred
- ORA‑12541: TNS:listener does not currently know of service requested in connect descriptor
- ORA‑12514/12505: Service name not recognized
- Wallet PKIX error: Certificate chain validation failed
These messages indicate that SQL Developer cannot reach the database listener or that the listener does not understand the request. The following diagnostic guide helps you isolate the root cause and apply the appropriate fix.
Quick Diagnostic Table
| Symptom | Likely Cause | Quick Test |
|---|---|---|
| IO Error: Network Adapter | Wrong host/port or firewall blocking traffic | ping & telnet |
| ORA‑12170/ORA‑12541 | Listener down or wrong port | lsnrctl status on DB server |
| ORA‑12514/12505 | Service name mismatch (SID vs SERVICE_NAME) | Check tnsnames.ora entry and listener.ora |
| TNS‑03505 | Missing or wrong TNS_ADMIN path | Confirm TNS_ADMIN points to folder with tnsnames.ora |
| Wallet PKIX error | Missing CA certificate in JDK cacerts or wrong wallet location | openssl s_client -connect : -servername |
Step‑by‑Step Troubleshooting
1. Verify Network Reachability
Run the following from the machine where SQL Developer is installed:
# Windows PowerShell
ping <db-host>
telnet <db-host> <port>
# Linux/macOS Terminal
ping <db-host>
telnet <db-host> <port> # or nc -vz <db-host> <port>
Expected outcome: Connected to <db-host> and a successful ping. If the ping fails or the telnet connection times out, the host is unreachable or the port is blocked by a firewall. Open the port (default 1521) or use an SSH tunnel.
2. Confirm Listener Status on the Database Server
On the database host, run:
lsnrctl status
Look for the listener name and the services it knows. A missing listener or a listener that reports no services often triggers ORA‑12541. If the listener is stopped, start it:
lsnrctl start
Check listener.log for recent errors if the start fails.
3. Validate the TNS Entry
SQL Developer relies on a tnsnames.ora file. Ensure the file exists and the alias matches the database service. A typical entry looks like:
MYDB =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = db.example.com)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = mydb.example.com)
)
);
On Windows, the file is usually in %APPDATA%\Oracle\sqlnet\tnsnames.ora. On Linux/macOS, check /etc/tnsnames.ora or the path defined by TNS_ADMIN. In SQL Developer, set the path under Tools → Preferences → Database → Advanced → Tnsnames Directory. Restart SQL Developer after changing the path.
4. Test the Connection Outside SQL Developer
Use sqlplus to isolate client configuration:
sqlplus user/password@MYDB
Success here means the client stack (Instant Client or JDBC thin) can reach the database. If sqlplus fails with the same error, the problem is in the network or listener, not SQL Developer.
5. Check JDBC Driver Compatibility
SQL Developer 21.2+ bundles its own JDK. The JDBC driver must match that JDK (ojdbc8.jar for JDK 8, ojdbc11.jar for JDK 11/17). Verify the driver in sqldeveloper/jdbc/lib:
ls sqldeveloper/jdbc/lib/ojdbc*.jar
Remove any mismatched driver files and restart SQL Developer. Use Help → About → Properties to confirm the JDK version in use.
6. Resolve Wallet‑Based Connection Issues
For cloud or TLS‑enabled connections, the wallet must be unzipped to a folder with a clean path (no spaces). Example sqlnet.ora inside the wallet folder:
WALLET_LOCATION = (SOURCE = (METHOD = FILE) (METHOD_DATA = (DIRECTORY = /opt/wallet)))
SSL_CLIENT_AUTHENTICATION = FALSE
Set the environment variable in SQL Developer’s sqldeveloper.conf:
SetJavaHome=<path-to-jdk>
-Doracle.net.tns_admin=<wallet-directory>
Import the wallet’s root CA into the JDK cacerts store if you receive a PKIX error:
keytool -import -alias <ca-alias> -file <ca-cert-file> -keystore <jdk>/lib/security/cacerts
Use openssl s_client -connect db.example.com:1522 -servername db.example.com to verify the certificate chain before importing.
7. Enable SQL Developer Debug Logging (Optional)
For stubborn cases, add debug flags to sqldeveloper.conf:
-Doracle.net.tns_admin=<path>
-Djava.util.logging.config.file=<path>/logging.properties
After restarting, review ~/.sqldeveloper/system<version>/o.jdeveloper/log/messages.log for detailed connection traces.
Escalation Criteria
- After steps 1‑4, the connection still fails with the same error.
- Listener status shows services but the client cannot resolve the alias.
- Wallet or TLS errors persist after importing the CA and configuring
sqlnet.ora.
At this point, involve the database administrator to verify the listener configuration and the service name. If the database is hosted on a cloud platform, contact the cloud support team for wallet or firewall settings.
Practical Checklist Summary
- Ping and telnet host:port.
- Run
lsnrctl statuson the server. - Verify
tnsnames.oraentry and TNS_ADMIN path. - Test with
sqlplus. - Confirm JDBC driver matches embedded JDK.
- Configure wallet directory and import CA if TLS is used.
- Check debug logs if still failing.
Following this ordered checklist will resolve over 90% of SQL Developer connection failures. If the issue remains, the problem is likely outside the client scope and requires DBA or infrastructure support.
0 replies
A thoughtful contribution can make all the difference. Be the first to share one.