diff --git a/modules/mssqlserver/src/main/java/org/testcontainers/containers/MSSQLServerContainer.java b/modules/mssqlserver/src/main/java/org/testcontainers/containers/MSSQLServerContainer.java index 6e902656bb2..3471e552a40 100644 --- a/modules/mssqlserver/src/main/java/org/testcontainers/containers/MSSQLServerContainer.java +++ b/modules/mssqlserver/src/main/java/org/testcontainers/containers/MSSQLServerContainer.java @@ -103,7 +103,20 @@ protected String constructUrlForConnection(String queryString) { if (urlParameters.keySet().stream().map(String::toLowerCase).noneMatch("encrypt"::equals)) { urlParameters.put("encrypt", "false"); } - return super.constructUrlForConnection(queryString); + + // The JDBC driver of MS SQL Server does not use the traditional '?' + // as the starting character nor the '&' as the delimiter of additional parameters. + String baseUrl = getJdbcUrl(); + + if ("".equals(queryString)) { + return baseUrl; + } + + if (!queryString.startsWith(";")) { + throw new IllegalArgumentException("The ';' character must be included"); + } + + return baseUrl + queryString; } @Override