Error while opening IIQ console

Hi all,

I am not able to launch iiq console

Below is the error:

Unable to check IdentityIQ database version: Unable to connect to: jdbc:sqlserver://XXXXXXX:1433;databaseName=XXXX_identityiq;integratedSecurity=true;
org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘versionChecker’ defined in class path resource [configBeans.xml]: Invocation of init method failed; nested exception is java.lang.RuntimeException: Unable to check IdentityIQ database version: Unable to connect to: jdbc:sqlserver://XXXXXXX:1433;databaseName=XXXX_identityiq;integratedSecurity=true;

And assistance in appreciated

Thanks in advance

@rishavghoshacc Could you please try few things:

  • Modify the db URL to this and see if it gets connected or not : Example URL for integrated security with certificate bypass

    dataSource.url=jdbc:sqlserver://XXXXXXX:1433;databaseName=XXXX_identityiq;integratedSecurity=true;trustServerCertificate=true;

  • Check Service Account Permissions. Try with plain text password in username and password, once it work you can encrypt it and store.

  • Check the network connectivity in DB in case incoming traffic is blocked.

Note: Found a fix?Help the community by marking the comment as solution. Feel free to react(:heart:,:+1:, etc.)with an emoji to show your appreciation or message me directly if your problem requires a deeper dive.

Hi @rishavghoshacc

Greetings!

The iiq.properties file is not configured correctly. Please ensure that all three database connection details are updated accurately.

Ensure the following three connection settings are present in your iiq.properties file, as shown in the sample below.

  • dataSource.url (identityiq)
  • pluginsDataSource.url (identityiqPlugin)
  • dataSourceAccessHistory.url (identityiqah)

I recommend starting from scratch using a fresh/default iiq.properties file. Please refer to the file below and update it according to your environment.

##### iiq.properties #####
#
# (c) Copyright 2008 SailPoint Technologies, Inc., All Rights Reserved.
#
# This file contains configuration settings for IdentityIQ.  For your unique
# environment, you will need to adjust the properties below.
#
# IdentityIQ can either create its own datasource or use a datasource that is
# managed by an application server.  Depending on the type of database being
# used, you will need to do the following:
#
# 1) Uncomment the correct sessionFactory.hibernateProperties.hibernate.dialect
#    and ensure that all other dialects are commented out.
# 2) If using MS SQL Server, also uncomment the quartz properties:
#    scheduler.quartzProperties.org.quartz.jobStore.driverDelegateClass and
#    scheduler.quartzProperties.org.quartz.jobStore.selectWithLockSQL.
#
#
# IDENTITYIQ MANAGED DATASOURCES ONLY
#
# In addition to the steps above, if IdentityIQ is creating its own datasource
# (ie - not using an application server managed datasource), you will need to
# perform the following steps:
#
# 1) Modify dataSource.username and dataSource.password to include the username
#    and password of the database user.  The password may be an encrypted using
#    the "encrypt" command when running "iiq console".
# 2) Configure the dataSource.url to connect to the database, and uncomment the
#    appropriate dataSource.driverClassName.
# 3) Optionally configure other connection pool settings.
#
#
# APPLICATION SERVER MANAGED DATASOURCES ONLY
#
# In addition to the steps above, if IdentityIQ is using an application server
# managed datasource, you will need to perform the following steps:
#
# 1) Configure the datasource in your application server.  This usually involves
#    putting the JDBC driver jar file in a common location and configuring
#    properties for your database connection and pool settings.  Consult the
#    documentation for the application server for more information.  Also,
#    ensure that the JDBC driver jar file is not in the WEB-INF\lib directory
#    of the IdentityIQ web application.
# 2) Change jndiDataSource.jndiName to point to the location in JNDI in which
#    the datasource is stored.
# 3) Change configuredDataSource.targetBeanName to "jndiDataSource".
#    7.1 update: at the moment targetBeanName doesn't work after the Spring upgrade
#    you must edit the <alias> definition in configBeans.xml
#

##### Application Server Managed Data Source Properties #####

# Depending on the app server, the "java:comp/env/" may not be required.
jndiDataSource.jndiName=java:comp/env/jdbc/testDataSource

# Set to "jndiDataSource" to use an app server managed datasource. Otherwise
# leave the default value "dataSource".
configuredDataSource.targetBeanName=dataSource

# These settings are for the activemq broker.  At this time this should remain
# set to type activemq. This is only needed for running an embedded message
# broker within IdentityIQ, and is ignored when the message broker is external
messageServiceFactory.type=activemq
activeMQMessageServiceManager.brokerUri=tcp://0.0.0.0:61616?transport.trace=true&transport.soTimeout=10000
activeMQMessageServiceManager.activemqLocker=org.apache.activemq.store.jdbc.LeaseDatabaseLocker
# ActiveMQ Broker System Usage limit sizing in Megabytes
activeMQMessageServiceManager.memoryLimit=1024
activeMQMessageServiceManager.storeLimit=100000
activeMQMessageServiceManager.tempLimit=50000

##### Data Source Properties #####
dataSource.maxWaitMillis=10000
dataSource.maxTotal=50
dataSource.minIdle=5
#dataSource.minEvictableIdleTimeMillis=300000
#dataSource.maxOpenPreparedStatements=-1

dataSource.username=identityiq
dataSource.password=identityiq

##### MySQL/Aurora (without SSL)  #####
## URL Format: dataSource.url=jdbc:mysql://<host_name>:<port>/<dbname>?useServerPrepStmts=true&tinyInt1isBit=true&useSSL=false&characterEncoding=UTF-8&characterEncoding=UTF-8&serverTimezone=UTC
## if the client timezone is not UTC, adding the JDBC option 'serverTimezone=UTC' will cause MySQL to behave
## differently with regard to TIMESTAMP fields. See IdentityIQ Installation Guide for more details.
#dataSource.url=jdbc:mysql://localhost/identityiq?useServerPrepStmts=true&tinyInt1isBit=true&useSSL=false&characterEncoding=UTF-8&serverTimezone=UTC
#dataSource.driverClassName=com.mysql.cj.jdbc.Driver
#sessionFactory.hibernateProperties.hibernate.dialect=org.hibernate.dialect.MySQL57Dialect
#activeMQMessageServiceManager.activemqJdbcAdapter=org.apache.activemq.store.jdbc.adapter.MySqlJDBCAdapter

##### MySQL/Aurora (SSL) #####
## URL Format: dataSource.url=jdbc:mysql://<host_name>:<port>/<dbname>?useServerPrepStmts=true&tinyInt1isBit=true&characterEncoding=UTF-8&serverTimezone=UTC
##  -- Contact your MySQL DBA to determine if any additional SSL-related connection parameters are needed.
####
#dataSource.url=jdbc:mysql://localhost/identityiq?useServerPrepStmts=true&tinyInt1isBit=true&characterEncoding=UTF-8&serverTimezone=UTC
#dataSource.driverClassName=com.mysql.cj.jdbc.Driver
#sessionFactory.hibernateProperties.hibernate.dialect=org.hibernate.dialect.MySQL57Dialect
#activeMQMessageServiceManager.activemqJdbcAdapter=org.apache.activemq.store.jdbc.adapter.MySqlJDBCAdapter

##### p6spy #####
## You also need to modify spy.properties driverlist property
#dataSource.url=jdbc:p6spy:mysql://localhost/identityiq?useServerPrepStmts=true&tinyInt1isBit=true&useSSL=false&characterEncoding=UTF-8&serverTimezone=UTC
#dataSource.url=jdbc:p6spy:oracle:thin:@localhost:1521:identityiq
#dataSource.url=jdbc:p6spy:sqlserver://localhost:1433;databaseName=identityiq;
#dataSource.url=jdbc:p6spy:db2://localhost:50000/iiq
#dataSource.url=jdbc:p6spy:postgresql://localhost:5432/identityiq
#dataSource.driverClassName=com.p6spy.engine.spy.P6SpyDriver

##### Oracle #####
## URL Format: dataSource.url=jdbc:oracle:<drivertype>:<username/password>@<database>:<port>:<sid>
#dataSource.url=jdbc:oracle:thin:@localhost:1521:identityiq
#dataSource.driverClassName=oracle.jdbc.driver.OracleDriver
#sessionFactory.hibernateProperties.hibernate.dialect=org.hibernate.dialect.Oracle12cDialect
#activeMQMessageServiceManager.activemqJdbcAdapter=org.apache.activemq.store.jdbc.adapter.OracleJDBCAdapter

##### MSSQL Server #####
## URL Format: dataSource.url=jdbc:sqlserver://[serverName[\instanceName][:portNumber]][;property=value[;property=value]]
dataSource.url=jdbc:sqlserver://localhost:1433;databaseName=identityiq;encrypt=false;
dataSource.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver
sessionFactory.hibernateProperties.hibernate.dialect=sailpoint.persistence.SQLServerUnicodeDialect
scheduler.quartzProperties.org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.MSSQLDelegate
scheduler.quartzProperties.org.quartz.jobStore.selectWithLockSQL=SELECT * FROM {0}LOCKS UPDLOCK WHERE LOCK_NAME = ?
activeMQMessageServiceManager.activemqJdbcAdapter=org.apache.activemq.store.jdbc.adapter.TransactJDBCAdapter

##### IBM DB2 #####
## URL Format: dataSource.url=jdbc:db2://<host_name>:<port_number>/<database_name>
#dataSource.url=jdbc:db2://localhost:50000/iiq
#dataSource.driverClassName=com.ibm.db2.jcc.DB2Driver
#sessionFactory.hibernateProperties.hibernate.dialect=org.hibernate.dialect.DB297Dialect
#activeMQMessageServiceManager.activemqJdbcAdapter=org.apache.activemq.store.jdbc.adapter.DB2JDBCAdapter

##### PostgreSQL #####
## URL Format: dataSource.url=jdbc:postgresql://<host_name>:<port_number>/<database_name>
#dataSource.url=jdbc:postgresql://localhost:5432/identityiq
#dataSource.driverClassName=org.postgresql.Driver
#sessionFactory.hibernateProperties.hibernate.dialect=org.hibernate.dialect.PostgreSQL10Dialect
#scheduler.quartzProperties.org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.PostgreSQLDelegate
#activeMQMessageServiceManager.activemqJdbcAdapter=sailpoint.messagebus.impl.PostgresqlJDBCAdapter

##### Plugins ####

# Determines whether or not plugins are enabled, change
# to false if plugins should be disabled globally
plugins.enabled=true

# Determines if SQL scripts should be executed dynamically
# at the time a plugin is installed, upgraded or uninstalled
plugins.runSqlScripts=true

# Determines if XML object files should be imported dynamically
# at the time a plugin is installed, upgraded or uninstalled
plugins.importObjects=true

# Determines if the global SailPoint angular bundle will be used when
# there are snippets on a page
plugins.angularSnippetEnabled=false


##### Application Server Managed Plugins Data Source Properties #####

# Depending on the app server, the "java:comp/env/" may not be required.
jndiPluginsDataSource.jndiName=java:comp/env/jdbc/testPluginsDataSource

# Set to "jndiPluginsDataSource" to use an app server managed datasource. Otherwise
# leave the default value "pluginsDataSource".
configuredPluginsDataSource.targetBeanName=pluginsDataSource


##### Plugins Data Source Properties #####
pluginsDataSource.maxWaitMillis=10000
pluginsDataSource.maxTotal=50
pluginsDataSource.minIdle=5
#pluginsDataSource.minEvictableIdleTimeMillis=300000
#pluginsDataSource.maxOpenPreparedStatements=-1

pluginsDataSource.username=identityiqPlugin
pluginsDataSource.password=identityiqPlugin

##### MySQL (without SSL) #####
## URL Format: dataSource.url=jdbc:mysql://<host_name>:<port>/<dbname>?useServerPrepStmts=true&tinyInt1isBit=true&useSSL=false&characterEncoding=UTF-8&serverTimezone=UTC
#pluginsDataSource.url=jdbc:mysql://localhost/identityiqPlugin?useServerPrepStmts=true&tinyInt1isBit=true&useSSL=false&characterEncoding=UTF-8&serverTimezone=UTC
#pluginsDataSource.driverClassName=com.mysql.cj.jdbc.Driver

##### MySQL (SSL) #####
## URL Format: dataSource.url=jdbc:mysql://<host_name>:<port>/<dbname>?useServerPrepStmts=true&tinyInt1isBit=true&characterEncoding=UTF-8&serverTimezone=UTC
##  -- Contact your MySQL DBA to determine if any additional SSL-related connection parameters are needed.
####
#pluginsDataSource.url=jdbc:mysql://localhost/identityiqPlugin?useServerPrepStmts=true&tinyInt1isBit=true&characterEncoding=UTF-8&serverTimezone=UTC
#pluginsDataSource.driverClassName=com.mysql.cj.jdbc.Driver

##### p6spy #####
## You also need to modify spy.properties driverlist property
#pluginsDataSource.url=jdbc:p6spy:mysql://localhost/identityiqPlugin?useServerPrepStmts=true&tinyInt1isBit=true&useSSL=false&characterEncoding=UTF-8&serverTimezone=UTC
#pluginsDataSource.url=jdbc:p6spy:oracle:thin:@localhost:1521:identityiqPlugin
#pluginsDataSource.url=jdbc:p6spy:sqlserver://localhost:1433;databaseName=identityiqPlugin
#pluginsDataSource.url=jdbc:p6spy:db2://localhost:50000/iiq_pl
#pluginsDataSource.url=jdbc:p6spy:postgresql://localhost:5432/identityiqPlugin
#pluginsDataSource.driverClassName=com.p6spy.engine.spy.P6SpyDriver

##### Oracle #####
## URL Format: dataSource.url=jdbc:oracle:<drivertype>:<username/password>@<database>:<port>:<sid>
#pluginsDataSource.url=jdbc:oracle:thin:@localhost:1521:identityiqPlugin
#pluginsDataSource.driverClassName=oracle.jdbc.driver.OracleDriver

##### MSSQL Server #####
## URL Format: dataSource.url=jdbc:sqlserver://[serverName[\instanceName][:portNumber]][;property=value[;property=value]]
pluginsDataSource.url=jdbc:sqlserver://localhost:1433;databaseName=identityiqPlugin;encrypt=false;
pluginsDataSource.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver

##### IBM DB2 #####
## URL Format: dataSource.url=jdbc:db2://<host_name>:<port_number>/<database_name>
#pluginsDataSource.url=jdbc:db2://localhost:50000/iiq_pl
#pluginsDataSource.driverClassName=com.ibm.db2.jcc.DB2Driver

##### PostgreSQL #####
## URL Format: dataSource.url=jdbc:postgresql://<host_name>:<port_number>/<database_name>
#pluginsDataSource.url=jdbc:postgresql://localhost:5432/identityiqPlugin
#pluginsDataSource.driverClassName=org.postgresql.Driver


##### Access History ####

##### Data Source Properties for Access History #####
dataSourceAccessHistory.maxWaitMillis=10000
dataSourceAccessHistory.maxTotal=50
dataSourceAccessHistory.minIdle=5
#dataSourceAccessHistory.minEvictableIdleTimeMillis=300000
#dataSourceAccessHistory.maxOpenPreparedStatements=-1

dataSourceAccessHistory.username=identityiqah
dataSourceAccessHistory.password=identityiqah

##### MySQL/Aurora (without SSL)  #####
#dataSourceAccessHistory.url=jdbc:mysql://localhost/identityiqah?useServerPrepStmts=true&tinyInt1isBit=true&useSSL=false&characterEncoding=UTF-8&serverTimezone=UTC
#dataSourceAccessHistory.driverClassName=com.mysql.cj.jdbc.Driver
#sessionFactoryAccessHistory.hibernateProperties.hibernate.dialect=org.hibernate.dialect.MySQL57Dialect

##### MySQL/Aurora (SSL) #####
## URL Format: dataSource.url=jdbc:mysql://<host_name>:<port>/<dbname>?useServerPrepStmts=true&tinyInt1isBit=true&characterEncoding=UTF-8&serverTimezone=UTC
##  -- Contact your MySQL DBA to determine if any additional SSL-related connection parameters are needed.
####
#dataSourceAccessHistory.url=jdbc:mysql://localhost/identityiqah?useServerPrepStmts=true&tinyInt1isBit=true&characterEncoding=UTF-8&serverTimezone=UTC
#dataSourceAccessHistory.driverClassName=com.mysql.cj.jdbc.Driver
#sessionFactoryAccessHistory.hibernateProperties.hibernate.dialect=org.hibernate.dialect.MySQL57Dialect

##### Oracle #####
## URL Format: dataSource.url=jdbc:oracle:<drivertype>:<username/password>@<database>:<port>:<sid>
#dataSourceAccessHistory.url=jdbc:oracle:thin:@localhost:1521:identityiqah
#dataSourceAccessHistory.driverClassName=oracle.jdbc.driver.OracleDriver
#sessionFactoryAccessHistory.hibernateProperties.hibernate.dialect=org.hibernate.dialect.Oracle12cDialect

##### MSSQL Server #####
## URL Format: dataSource.url=jdbc:sqlserver://[serverName[\instanceName][:portNumber]][;property=value[;property=value]]
dataSourceAccessHistory.url=jdbc:sqlserver://localhost:1433;databaseName=identityiqah;encrypt=false;
dataSourceAccessHistory.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver
sessionFactoryAccessHistory.hibernateProperties.hibernate.dialect=sailpoint.persistence.SQLServerUnicodeDialect

##### IBM DB2 #####
## URL Format: dataSource.url=jdbc:db2://<host_name>:<port_number>/<database_name>
#dataSourceAccessHistory.url=jdbc:db2://localhost:50000/iiq_ah
#dataSourceAccessHistory.driverClassName=com.ibm.db2.jcc.DB2Driver
#sessionFactoryAccessHistory.hibernateProperties.hibernate.dialect=org.hibernate.dialect.DB297Dialect

##### PostgreSQL #####
## URL Format: dataSource.url=jdbc:postgresql://<host_name>:<port_number>/<database_name>
#dataSourceAccessHistory.url=jdbc:postgresql://localhost:5432/identityiqah
#dataSourceAccessHistory.driverClassName=org.postgresql.Driver
#sessionFactoryAccessHistory.hibernateProperties.hibernate.dialect=org.hibernate.dialect.PostgreSQL10Dialect


#
# Settings for the ruleRunner and its pool
#
ruleRunner.maxPoolReuse=1000
ruleRunnerPoolConfig.maxTotal=-1
ruleRunnerPoolConfig.maxTotalPerKey=8
ruleRunnerPoolConfig.maxIdlePerKey=8
ruleRunnerPoolConfig.minIdlePerKey=0

##### Hibernate Listener Service Thread Pool Settings ######
# if this is false then the listeners will not be registered.
# if AI is installed this should probably be set to true.
hibernateListenerServiceConfig.hibernateListenerEnabled=true
# number of threads that will always be alive
hibernateListenerServiceConfig.coreThreads=10
# max number of threads that can be running if there is a high load
hibernateListenerServiceConfig.maxThreads=20
# how long in milliseconds extra threads will sit idle before scaling back down to the core number
hibernateListenerServiceConfig.keepAliveTime=10000
# how many changes can be queued up for the threads to work on
hibernateListenerServiceConfig.queueSize=10000

##### BundleProfileRelation Listener Service Thread Pool Settings ######
# number of threads that will always be alive
bundleProfileRelationListenerServiceConfig.coreThreads=10
# max number of threads that can be running if there is a high load
bundleProfileRelationListenerServiceConfig.maxThreads=20
# how long in milliseconds extra threads will sit idle before scaling back down to the core number
bundleProfileRelationListenerServiceConfig.keepAliveTime=10000
# how many changes can be queued up for the threads to work on
bundleProfileRelationListenerServiceConfig.queueSize=10000

##### Debug Settings #####

# Uncomment to send all SQL queries to std out. This provides a lot of output
# and slows down execution, so use it wisely.
#sessionFactory.hibernateProperties.hibernate.show_sql=true

# Hibernate Transaction Isolation Levels
# 1 = Read Uncommitted, 2 = Read Committed, 4 = Repeatable Read, 8 = Serializable
#sessionFactory.hibernateProperties.hibernate.connection.isolation=1

#
# IIQ Keystore and Master Password properties
#

# file location of the IIQ keystore
# (override of the default $SPHOME/WEB-INF/classes/iiq.dat )
#
#keyStore.file  = /example/path/filename

# file location of the IIQ master password file
# (override of the default $SPHOME/WEB-INF/classes/iiq.cfg )
#
#keyStore.passwordFile = /example/path/filename

# Enable caching in the keystore
# (default is false or no caching )
#
#keyStore.cache = true

Additional troubleshooting steps:

  1. Verify that the correct driver file is located in the ..\webapps\identityiq\WEB-INF\lib folder.
  2. Ensure the default schema on the database side is correct for both identityiq and identityiqah

if you have admin permission on your database, can you login to your database and run the command
ALTER USER identityiq WITH DEFAULT_SCHEMA = identityiq;

  1. additional settings to give a try in connection url

encrypt=false; – Non-Production
integratedSecurity=true;encrypt=false; – Non-Production

:white_check_mark: Mark the Solution: Help the community by marking the correct comment as the Solution.
:raising_hands: Show appreciation: Feel free to react with an emoji (:+1:, :heart:, etc.) to let others know the post was helpful.
:envelope: Need more help? Message me directly if your issue requires a deeper dive.

2 Likes

Check the solution from previous topic, it will help you sort out the correct jdbc url settings.

Unable to connect MS SQL

unable to connect to the IIQ console

Do you have the sql server jar placed in lib folder?

Hi Rishav,

Some issue with connection details in your iiq.properties file, which is why you are getting this error. Please check the connection parameters , and then try running the iiq console again. It should work.

Hello @rishavghoshacc
Please check the following:

  1. Open iiq.properties
    Location: <IIQ_Home>/WEB-INF/classes/iiq.properties.

2.Verify these values are correct:
dataSource.url (DB host, port, DB name)
dataSource.username
dataSource.password
pluginsDataSource.url
dataSourceah.url

  1. Make sure you are giving the correct SQL username/password (try logging into DB manually to confirm).
    Check JDBC driver is present.
    Location: /webapps/identityiq/WEB-INF/lib

4.Ensure sqljdbc*.jar is available.

5.After changes, restart the IIQ/Application server and try opening the console againr

@rishavghoshacc similar issue is resolved in this post.

https://community.sailpoint.com/t5/IdentityIQ-Forum/IIQ-8-1p3-vs-SQL-Server-Integrated-Security-Problem/m-p/193846