我正在将我们的JDBC驱动程序升级到mssql-jdbc-6.2.1,因此我们可以迁移到SQL Server 2016.除了我们的报告之外,新驱动程序的一切正常。我们有6000多个使用java.util.Date
的报告。使用上一个驱动程序,这些在SQL中被视为DATETIME
,但新驱动程序将它们视为DATE
。报告在" DATEADD(MINUTE,..."代码上失败,因为DATE不支持。
我试过
java.util.Map map = conn.getTypeMap();
map.put("sys.datetime", java.util.Date.class);
conn.setTypeMap(map);
但显然setTypeMap
未在MS驱动程序中实现。
重写所有报告不是一种选择。无论如何都要覆盖这个映射?