Summary:

On enabling the Exchange integration, an error relating to SQL parameters may appear in the logs.

Symptoms:

The logs appear to indicate that the colon character (:) is being interpreted as a placeholder for a SQL parameter. Thus a time (e.g. 12:30pm) can be interpreted as a parameter value of 30pm. This only occurs for appointments with specific characters in the Subject line.

An error similar to the following will be displayed in the crmj.log:

ERROR [http-apr-10009-exec-3]: 10-Apr-2014 09:47:54.007 org.springframework.dao.InvalidDataAccessApiUsageException: No value supplied for the SQL parameter '00': No value registered for key '00'
ERROR [http-apr-10009-exec-3]: 10-Apr-2014 09:47:54.022 org.springframework.dao.InvalidDataAccessApiUsageException: No value supplied for the SQL parameter '00': No value registered for key '00'
org.springframework.dao.InvalidDataAccessApiUsageException: No value supplied for the SQL parameter '00': No value registered for key '00'
      at org.springframework.jdbc.core.namedparam.NamedParameterUtils.buildValueArray(NamedParameterUtils.java:322)
      at org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate.getPreparedStatementCreator(NamedParameterJdbcTemplate.java:316)
      at org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate.query(NamedParameterJdbcTemplate.java:142)
      at org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate.query(NamedParameterJdbcTemplate.java:148)
      at com.sage.crm.core.data.jdbc.JdbcRead.execute(JdbcRead.java:63)
      at com.sage.crm.core.dao.ReadQuery.execute(ReadQuery.java:68)
      at com.sage.crm.exchange.businessrules.TaskIntegrationSpecificRules.dedupe(TaskIntegrationSpecificRules.java:127)


Resolution:

This issue is resolved in v7.2e.