After updating the SQL Server account password used in 360Eyes, attempts to update the password in the Eyes Configuration (Admin Page) result in a runtime error:
[ERROR] Failed to save database configuration
TranslatedThree60Exception: java.lang.NullPointerException: Cannot invoke
"java.lang.Integer.intValue()" because the return value of
"liquibase.snapshot.CachedRow.getInt(String)" is null
Additional logs may show:
Unable to acquire JDBC Connection
The connection is broken and recovery is not possible...
Increase the value of ConnectRetryCount...
This issue is most likely caused by the collation setting of the 360Eyes SQL Server database.
The NullPointerException in Liquibase typically occurs when the database uses a case-sensitive collation, which affects metadata queries and string comparisons used during schema checks.
Current problematic collation example:
SQL_Latin1_General_CP1_CS_AS → Case Sensitive
For 360Suite products, including 360Eyes, a case-insensitive collation is required. Case-sensitive collations can lead to failures in backend processes such as Liquibase schema management, especially during schema updates or validations.
Run the following queries in SQL Server:
SELECT name, collation_name
FROM sys.databases
WHERE name = '<Your_360Eyes_DB_Name>';
SELECT SERVERPROPERTY('Collation') AS ServerCollation;
Ask your DBA to change the database collation to a case-insensitive (CI) collation.
SQL_Latin1_General_CP1_CI_AS
CI = Case Insensitive
CS = Case Sensitive
The issue may not appear immediately and can surface when Liquibase schema updates or validations are triggered.
Always use case-insensitive collation for all 360Suite products, including:
360Eyes
360Suite