I found the issue with this - posting my solutions below for posterity:
The Keyword looks like this
* Execute non-query (usually INSERT/UPDATE/DELETE/COUNT/SUM...) on database
* @param queryString a SQL statement
* @return single value result of SQL statement
*/
@Keyword
def execute(String queryString) {
Statement stm = connection.createStatement()
boolean result = stm.execute(queryString)
return result
}
//Closing the connection```
The Test Step that invokes the keyword looks like this:
CustomKeywords.'com.MyApp.StoredProc.connectDB'(GlobalVariable.userAccountsDb, '', '', '', '')
CustomKeywords.'com.MyApp.StoredProc.execute' ('exec [qa].[UnitTest_UserTwoFactorAuthentication_Set_TwoFactorStatus] \'testuser1@email.test\', \'UserState1\'')
CustomKeywords.'com.MyApp.StoredProc.execute' ('exec [qa].[UnitTest_UserTwoFactorAuthentication_Set_TwoFactorStatus] \'testuser@email.test\', \'UserState2\'')
CustomKeywords.'com.MyApp.StoredProc.execute' ('exec [qa].[UnitTest_UserTwoFactorAuthentication_Set_TwoFactorStatus] \'testuser1@email.test\', \'UserState3\'')
CustomKeywords.'com.MyApp.StoredProc.closeDatabaseConnection'()