@@ -201,9 +201,14 @@ public void fipsDataSourceTrustServerCertificateTest() throws Exception {
201
201
*/
202
202
private void setDataSourceProperties (SQLServerDataSource ds ) {
203
203
ds .setServerName (dataSourceProps [0 ]);
204
- ds .setUser (dataSourceProps [1 ]);
205
- ds .setPassword (dataSourceProps [2 ]);
206
- ds .setDatabaseName (dataSourceProps [3 ]);
204
+
205
+ if (dataSourceProps [1 ] != null && StringUtils .isInteger (dataSourceProps [1 ])) {
206
+ ds .setPortNumber (Integer .valueOf (dataSourceProps [1 ]));
207
+ }
208
+
209
+ ds .setUser (dataSourceProps [2 ]);
210
+ ds .setPassword (dataSourceProps [3 ]);
211
+ ds .setDatabaseName (dataSourceProps [4 ]);
207
212
208
213
// Set all properties for FIPS
209
214
ds .setFIPS (true );
@@ -247,20 +252,25 @@ private Properties buildConnectionProperties() {
247
252
*/
248
253
private static String [] getDataSourceProperties () {
249
254
String [] params = connectionString .split (";" );
250
- String [] dataSoureParam = new String [4 ];
255
+ String [] dataSoureParam = new String [5 ];
251
256
252
257
for (String strParam : params ) {
253
258
if (strParam .startsWith ("jdbc:sqlserver" )) {
254
259
dataSoureParam [0 ] = strParam .replace ("jdbc:sqlserver://" , "" );
260
+ String [] hostPort = dataSoureParam [0 ].split (":" );
261
+ dataSoureParam [0 ] = hostPort [0 ];
262
+ if (hostPort .length > 1 ) {
263
+ dataSoureParam [1 ] = hostPort [1 ];
264
+ }
255
265
}
256
266
else if (strParam .startsWith ("userName" )) {
257
- dataSoureParam [1 ] = strParam .replace ("userName=" , "" );
267
+ dataSoureParam [2 ] = strParam .replace ("userName=" , "" );
258
268
}
259
269
else if (strParam .startsWith ("password" )) {
260
- dataSoureParam [2 ] = strParam .replace ("password=" , "" );
270
+ dataSoureParam [3 ] = strParam .replace ("password=" , "" );
261
271
}
262
272
else if (strParam .startsWith ("database" )) {
263
- dataSoureParam [3 ] = strParam .replace ("database=" , "" );
273
+ dataSoureParam [4 ] = strParam .replace ("database=" , "" );
264
274
}
265
275
266
276
}
0 commit comments