8.3p3 to 8.4 Upgrade command failing to login

I’m running the upgrade command and getting a login error. I can connect to the database with the username/password in the iiq properties no problem. Any ideas why this would be erroring? I had no issues with 8.3

Unable to establish a connection to the database, please check the log for details
2025-09-02T11:22:08,510 ERROR main sailpoint.server.upgrade.Upgrader:1504 - Cannot create PoolableConnectionFactory (Login failed for user ‘identityiqah’. ClientConnectionId:3da03265-fbd8-49a6-a05b-d9e7b7c14447)
sailpoint.tools.GeneralException: Cannot create PoolableConnectionFactory (Login failed for user ‘identityiqah’. ClientConnectionId:3da03265-fbd8-49a6-a05b-d9e7b7c14447)
at sailpoint.server.upgrade.Upgrader$JdbcContext.createConnection(Upgrader.java:261) ~[identityiq.jar:8.4 Build bdd0ed4de58-20230919-192552]
at sailpoint.server.upgrade.Upgrader$JdbcContext.getConnection(Upgrader.java:243) ~[identityiq.jar:8.4 Build bdd0ed4de58-20230919-192552]
at sailpoint.server.upgrade.Upgrader.getDatabaseSchemaVersion(Upgrader.java:1614) ~[identityiq.jar:8.4 Build bdd0ed4de58-20230919-192552]
at sailpoint.server.upgrade.Upgrader.validateSchemaVersion(Upgrader.java:1495) [identityiq.jar:8.4 Build bdd0ed4de58-20230919-192552]
at sailpoint.server.upgrade.Upgrader.validateSchemaVersions(Upgrader.java:1166) [identityiq.jar:8.4 Build bdd0ed4de58-20230919-192552]
at sailpoint.server.upgrade.Upgrader.execute(Upgrader.java:1092) [identityiq.jar:8.4 Build bdd0ed4de58-20230919-192552]
at sailpoint.server.upgrade.Upgrader.main(Upgrader.java:643) [identityiq.jar:8.4 Build bdd0ed4de58-20230919-192552]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
at sailpoint.launch.Launcher.main(Launcher.java:250) [identityiq.jar:8.4 Build bdd0ed4de58-20230919-192552]
Caused by: java.sql.SQLException: Cannot create PoolableConnectionFactory (Login failed for user ‘identityiqah’. ClientConnectionId:3da03265-fbd8-49a6-a05b-d9e7b7c14447)
at org.apache.commons.dbcp2.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:653) ~[commons-dbcp2-2.9.0.jar:2.9.0]
at org.apache.commons.dbcp2.BasicDataSource.createDataSource(BasicDataSource.java:531) ~[commons-dbcp2-2.9.0.jar:2.9.0]
at org.apache.commons.dbcp2.BasicDataSource.getConnection(BasicDataSource.java:731) ~[commons-dbcp2-2.9.0.jar:2.9.0]
at sailpoint.server.upgrade.Upgrader$JdbcContext.createConnection(Upgrader.java:258) ~[identityiq.jar:8.4 Build bdd0ed4de58-20230919-192552]
… 11 more
Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: Login failed for user ‘identityiqah’. ClientConnectionId:3da03265-fbd8-49a6-a05b-d9e7b7c14447
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:262) ~[mssql-jdbc-8.4.1.jre11.jar:?]
at com.microsoft.sqlserver.jdbc.TDSTokenHandler.onEOF(tdsparser.java:283) ~[mssql-jdbc-8.4.1.jre11.jar:?]
at com.microsoft.sqlserver.jdbc.TDSParser.parse(tdsparser.java:129) ~[mssql-jdbc-8.4.1.jre11.jar:?]
at com.microsoft.sqlserver.jdbc.TDSParser.parse(tdsparser.java:37) ~[mssql-jdbc-8.4.1.jre11.jar:?]
at com.microsoft.sqlserver.jdbc.SQLServerConnection.sendLogon(SQLServerConnection.java:5233) ~[mssql-jdbc-8.4.1.jre11.jar:?]
at com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConnection.java:3988) ~[mssql-jdbc-8.4.1.jre11.jar:?]
at com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.doExecute(SQLServerConnection.java:3932) ~[mssql-jdbc-8.4.1.jre11.jar:?]
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:7375) ~[mssql-jdbc-8.4.1.jre11.jar:?]
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:3206) ~[mssql-jdbc-8.4.1.jre11.jar:?]
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:2713) ~[mssql-jdbc-8.4.1.jre11.jar:?]
at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:2362) ~[mssql-jdbc-8.4.1.jre11.jar:?]
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:2213) ~[mssql-jdbc-8.4.1.jre11.jar:?]
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:1276) ~[mssql-jdbc-8.4.1.jre11.jar:?]
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:861) ~[mssql-jdbc-8.4.1.jre11.jar:?]
at org.apache.commons.dbcp2.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:52) ~[commons-dbcp2-2.9.0.jar:2.9.0]
at org.apache.commons.dbcp2.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:374) ~[commons-dbcp2-2.9.0.jar:2.9.0]
at org.apache.commons.dbcp2.BasicDataSource.validateConnectionFactory(BasicDataSource.java:106) ~[commons-dbcp2-2.9.0.jar:2.9.0]
at org.apache.commons.dbcp2.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:649) ~[commons-dbcp2-2.9.0.jar:2.9.0]
at org.apache.commons.dbcp2.BasicDataSource.createDataSource(BasicDataSource.java:531) ~[commons-dbcp2-2.9.0.jar:2.9.0]
at org.apache.commons.dbcp2.BasicDataSource.getConnection(BasicDataSource.java:731) ~[commons-dbcp2-2.9.0.jar:2.9.0]
at sailpoint.server.upgrade.Upgrader$JdbcContext.createConnection(Upgrader.java:258) ~[identityiq.jar:8.4 Build bdd0ed4de58-20230919-192552]
… 11 more

Totally seen this during 8.3 → 8.4 upgrades. 9/10 it’s one of these simple gotchas:

  • Wrong props file: the upgrader is reading a different iiq.properties than the one you’re testing.

  • Encrypted DB password: 8.4 can’t decrypt it because the key/path isn’t in the new install.

  • JDBC URL mismatch: tiny change (e.g., databaseName, encrypt, or instanceName) makes SQL Server say “nope”.

Quick “5-minute fix” I use:

  1. Copy your known-good DB settings from 8.3 into 8.4/WEB-INF/classes/iiq.properties.

  2. For a test, put the DB password in plain text (just to rule out the key/decrypt issue).

  3. Make sure the URL points at the actual DB:
    jdbc:sqlserver://<HOST>:1433;databaseName=<DB>;encrypt=false
    (If you use a named instance, use ;instanceName=<INSTANCE>;databaseName=<DB>.)

  4. Add the old keys too (harmless fallback):
    hibernate.connection.url/username/password etc.

  5. Run ./iiq upgrade from the 8.4 folder. If it works, switch back to encrypted password and fix the key file path.

Still failing? Grab the SQL Server ERRORLOG “Login failed” State code and paste your (sanitized) dataSource.url — that usually pinpoints it fast.

if this post helps, please mark this as solution, as it will help others, if they have same requirements.