Install on MS SqlServer error

Which IIQ version are you inquiring about?

8.4

Share all details related to your problem, including any error messages you may have received.

We are facing an issue with connecting on MSSQL Server from sailpoint server.
the error when i run the iiq console command:

2024-07-24T14:36:46,389 WARN main springframework.context.support.ClassPathXmlApplicationContext:559 - Exception encountered during context initialization - cancelling refresh attempt: 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://xyz:1433;databaseName=identityiq;trustServerCertificate=true;encrypt=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://xyz:1433;databaseName=identityiq;trustServerCertificate=true;encrypt=true;

I have tried with trustServerCertificate=false and encrypt=false

i installed SSMS and i can connect to the database

I created a java script

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
 
 
public class ConnectToSQLServer{
    public static void main(String[] args) {
        String url = "jdbc:sqlserver://XXX:1433;databaseName=identityiq;trustServerCertificate=false;encrypt=false";
        String username = "identityiq";
        String password = "SailPoint@SAMSQLDEV01";
 
        try (Connection connection = DriverManager.getConnection(url, username, password)) {
            if (connection != null) {
                System.out.println("Connected to the database!");
            } else {
                System.out.println("Failed to make connection!");
            }
        } catch (SQLException e) {
            System.out.println("SQLState: " + e.getSQLState());
            System.out.println("Error Code: " + e.getErrorCode());
            System.out.println("Message: " + e.getMessage());
            e.printStackTrace();
        }
    }
}

and its working fine from the sailpoint server

Any help?

Hi @AhmedWaleed

Please share your iiq.properties file.

Thanks

Thank you for your quick reply.

Please find attached.
iiq.properties (17.1 KB)

Sorry this is the updated one.
iiq.properties (17.1 KB)

Hi @AhmedWaleed

Are below configurations done?

  1. Enable “SQL Server and Windows Authentication mode”
  2. Enable TCP/IP protocol to “enable” status and set listen port 1433

Thanks

Hi @Sriindugula,

  1. Yes.
    image
  2. Yes I can telnet to this port from the server

Hi @AhmedWaleed

  1. Have you got the latest driver jar matching your version of mssql in the lib folder?
  2. Check SQL is listening on port 1433 with “telnet xyz 1433”
  3. Make sure you are using the iiq.properties file from the 8.4 release package.

Also in the iiq.properties file it uses by default (unless you need some additional properties):
dataSource.url=jdbc:sqlserver://xyz:1433;databaseName=identityiq;

Hi @AhmedWaleed

please try removing both these key and values instead of just making them to false

Thanks

Hi @nick01king ,

  1. Yes i downloaded the latest jre from microsoft website and replace it in the following directory: C:\Program Files\Apache Software Foundation\Tomcat 9.0\webapps\identityiq\WEB-INF\lib-connectors\dbRequired3rdParty
  2. Yes i can telnet on the server.
  3. Its a fresh install, so i have the iiq.properties from the 8.4 release package.

Kindly note that im using the following java version:

Hi @Sriindugula,

Yes i tried that and still the same error.

Hi @AhmedWaleed

You need to download the latest driver for the mssql (check it matches your version): Release notes - JDBC Driver for SQL Server | Microsoft Learn

Also try with dataSource.url=jdbc:sqlserver://xyz:1433;databaseName=identityiq;

Hi @AhmedWaleed,

first of all for plugin you activated the connection url for mysql

also, for this:

dataSource.url=jdbc:sqlserver://XXX:1433;databaseName=identityiq;trustServerCertificate=true;encrypt=true;

if you have a secure connection use this:

Encrypt=Yes;hostNameInCertificate=<myservername>

later,

  • check the communication betweem SP and Db with telnet
  • check the permission of identityiq user on db
  • check if you have exucute all instructions for db(create, upgrade and post upgrade files)
  • check the permsions on libs

ps remember to delete the pwds when you upload some file :sweat_smile:

Hi @nick01king,

I did download the latest drive: mssql-jdbc-12.6.3.jre11.jar but i replaced it with same name as the old one as i didnt know if it needed extra configuration.

I tried using dataSource.url=jdbc:sqlserver://xyz:1433;databaseName=identityiq;

and still the issue occurs

Hello @enistri_devo,

I uploaded the old one. this is the new one and im still getting the same error
iiq.properties (17.1 KB)

Hi @AhmedWaleed

You don’t need to change the jar file name. I would keep the original name.

Which other file did you rename it with?

Hi @nick01king
with the old mssql driver, i renamed it back and brought back the old mssql driver and still the error occurs

Hi @enistri_devo ,

When i tried to use Encrypt=Yes, it bought back an error that Yes is not a valid option for Encrypt, I reverted back to true and added the hostNameInCertificate= and still the error occurs

You should be putting the driver file in WEB-INF/lib.

Hi @AhmedWaleed

The product doesn’t come with an old mssql driver anymore. You should only have one in the main lib folder to avoid any conflict.

Dear Team,

Thank you for your help.

I was help to resolve the issue.

The issue was related to a certificate issue.