{"record":{"id":"0f19e86e90ea5cff","repo":"t8y2/dbx","slug":"dynamic-sqlexception-message-n-ndbx-sql-server-l","errorCode":null,"errorMessage":"<dynamic SQLException message>\\n\\nDBX SQL Server legacy TLS diagnostics: java=${java.version}, javaVendor=${java.vendor}, jdbc=${driverVersion}, sslProtocol=TLSv1, tlsV1Disabled=${...}, tlsRsaDisabled=${...}, rsaPkcs1Sha1HandshakeDisabled=${...}, 3desDisabled=${...}, rc4Disabled=${...}","messagePattern":"<dynamic SQLException message>\\\\n\\\\nDBX SQL Server legacy TLS diagnostics: java=(.+?), javaVendor=(.+?), jdbc=(.+?), sslProtocol=TLSv1, tlsV1Disabled=(.+?), tlsRsaDisabled=(.+?), rsaPkcs1Sha1HandshakeDisabled=(.+?), 3desDisabled=(.+?), rc4Disabled=(.+?)","errorType":"exception","errorClass":"java.sql.SQLException","httpStatus":null,"severity":"error","filePath":"agents/drivers/sqlserver-legacy/src/main/java/com/dbx/agent/sqlserverlegacy/SqlServerLegacyAgent.java","lineNumber":102,"sourceCode":"            Connection connection = super.openConnection(params);\n            sqlServer2000Mode = false;\n            logConnectionEvent(\"mssql-jdbc connected\", params, null);\n            return connection;\n        } catch (SQLException error) {\n            logConnectionEvent(\"mssql-jdbc failed\", params, error);\n            if (isSqlServer2000Unsupported(error)) {\n                logConnectionEvent(\"switching to jTDS 1.3.1 fallback\", params, null);\n                try {\n                    super.loadDriver(jtdsDriverParams());\n                    sqlServer2000Mode = true;\n                    Connection connection = super.openConnection(params);\n                    logConnectionEvent(\"jTDS 1.3.1 connected\", params, null);\n                    return connection;\n                } catch (SQLException fallbackError) {\n                    sqlServer2000Mode = false;\n                    logConnectionEvent(\"jTDS 1.3.1 failed\", params, fallbackError);\n                    fallbackError.addSuppressed(error);\n                    throw withLegacyTlsDiagnostics(fallbackError, \"jTDS 1.3.1\");\n                } catch (Exception fallbackError) {\n                    sqlServer2000Mode = false;\n                    logConnectionEvent(\"jTDS 1.3.1 failed\", params, fallbackError);\n                    fallbackError.addSuppressed(error);\n                    throw fallbackError;\n                }\n            }\n            throw withLegacyTlsDiagnostics(error);\n        }\n    }\n\n    private static ConnectParams jtdsDriverParams() {\n        ConnectParams params = new ConnectParams();\n        params.setJdbc_driver_class(JTDS_DRIVER_CLASS);\n        params.setJdbc_driver_paths(Collections.emptyList());\n        return params;\n    }\n","sourceCodeStart":84,"sourceCodeEnd":120,"githubUrl":"https://github.com/t8y2/dbx/blob/c0390bff16418b651f4728520d99adf8ce48829a/agents/drivers/sqlserver-legacy/src/main/java/com/dbx/agent/sqlserverlegacy/SqlServerLegacyAgent.java#L84-L120","documentation":"Error \"<dynamic SQLException message>\\n\\nDBX SQL Server legacy TLS diagnostics: java=${java.version}, javaVendor=${java.vendor}, jdbc=${driverVersion}, sslProtocol=TLSv1, tlsV1Disabled=${...}, tlsRsaDisabled=${...}, rsaPkcs1Sha1HandshakeDisabled=${...}, 3desDisabled=${...}, rc4Disabled=${...}\" thrown in t8y2/dbx.","triggerScenarios":"Thrown at agents/drivers/sqlserver-legacy/src/main/java/com/dbx/agent/sqlserverlegacy/SqlServerLegacyAgent.java:102 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Match the TLS stack to the legacy server: enable TLSv1/legacy ciphers on the JVM (java.security.config tweaks re-enabling TLSv1, 3DES/RC4 as appropriate) or use a JDK that still permits them","Prefer upgrading the SQL Server instance / enabling TLSv1.2 (patched SQL Server 2008+ supports it)","Set sslProtocol=TLSv1 (or a legacyTLS setting) in the JDBC connection parameters if the mssql-jdbc path is required","Let the driver fall back: the agent already retries via jTDS 1.3.1 for SQL Server 2000 — verify the jTDS fallback path is reachable and its params correct","Consult the appended diagnostics: java.version, jdbc driver version, and which legacy algorithms are disabled indicate what to re-enable on this JVM"],"exampleFix":null,"handlingStrategy":"fallback","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"c0390bff16418b651f4728520d99adf8ce48829a","analyzedAt":"2026-09-05T23:05:10.900Z","contentChangedAt":"2026-09-05T23:05:10.900Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}