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();
}
}
}
Have you got the latest driver jar matching your version of mssql in the lib folder?
Check SQL is listening on port 1433 with “telnet xyz 1433”
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;
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
Yes i can telnet on the server.
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:
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;
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