Skip to content

Oracle connection fails with uncleanShutdown on non-TLS server #483

@wiscaksono

Description

@wiscaksono

What happened

Tried connecting to an Oracle database (port 1521, plain TCP, no TLS) and got this:

Failed to connect to <redacted>:1521/<redacted>: OracleSQLError(code: uncleanShutdown) - Some information has been reducted to prevent accidental leakage of sensitive data. For additional debugging details, use `String(reflecting: error)`.

The same server works fine from SQL Developer and DBeaver with identical credentials. So the database itself is reachable and accepting connections -- just not from TablePro.

What I think is going on

Based on oracle-nio issue lovetodream/oracle-nio#21, the underlying error is probably NIOSSL.NIOSSLError.uncleanShutdown. My Oracle server runs on standard port 1521 with plain TCP (no TLS/TCPS). It looks like the Oracle driver is trying to negotiate TLS, the server doesn't speak TLS, and it just drops the connection.

There's also a firewall between my machine and the server, but that shouldn't matter since other clients get through without issues.

What I expected

A successful connection, or at least a clearer error message (e.g. "TLS handshake failed, try disabling SSL" or something along those lines).

Environment

  • macOS (Apple Silicon)
  • TablePro: latest version from GitHub Releases
  • Oracle server: port 1521, plain TCP, no TLS requirement

Suggestion

It would help to have either:

  • An option in the connection form to disable TLS for Oracle connections
  • Auto-detection of whether the server supports TLS before attempting the handshake

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions