Skip to content

fix: MS SQLServer container does not allow for custom queryString #9463

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

KyleAure
Copy link
Contributor

@KyleAure KyleAure commented Oct 25, 2024

Current behavior

If a user attempts to create a connection using the MS SQLServer container with an additional queryString, like:

try (Connection con = myContainer.createConnection(";databaseName=TEST");
    Statement stmt = con.createStatement()) {
      //// execute some query
}

Then the JDBCContainer will throw an error because of the following logic:

if (!queryString.startsWith("?")) {
throw new IllegalArgumentException("The '?' character must be included");
}

If the queryString is changed to `?databaseName=TEST" then a malformed JDBC URL is constructed:

[10/25/2024 15:50:39:255 CDT] [main] DEBUG tc.mcr.microsoft.com/mssql/server:2019-CU18-ubuntu-20.04 - Trying to create JDBC connection using com.microsoft.sqlserver.jdbc.SQLServerDriver to jdbc:sqlserver://myhost:38291;encrypt=false?databaseName=TEST with properties: {password=A_Str0ng_Required_Password, user=sa}

Expected behavior

The MS SQLServer container should override the default behavior of the constructUrlForConnection method to allow for the non-standard JDBC URL syntax for MS SQLServer which is to use a starting character ';' and delimiter ';'.

Prior Work

Fixes #5728 - where issue was originally reported
Fixes #5736 - where issue was originally fixed, but this approach is less heavy handed. Takes existing methods and overwrites behavior for the SQLServer module.

@KyleAure KyleAure requested a review from a team as a code owner October 25, 2024 21:16
@KyleAure
Copy link
Contributor Author

@eddumelendez - would it be possible to get this fix added to the next release?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Enhancement]: Honoring MSSQL aditional properties on connection url
1 participant