将声纳从 3.5.1 版升级到 3.6.2 版时,我收到以下 SQL 错误:
java.sql.SQLException: Can't infer the SQL type to use for an instance of java.util.Date. Use setObject() with an explicit Types value to specify the type to use.
Query:
INSERT INTO issues(kee, component_id, root_component_id, rule_id, severity, manual_severity, message, line, effort_to_fix, status, resolution, checksum, reporter, assignee, action_plan_key, issue_attributes,issue_creation_date, issue_update_date, created_at, updated_at)
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
Parameters: [
[f6b5d911-d074-4f3e-ad99-536bd7c7bcdb, 38278, 38266, 130, MAJOR, false, Returning 'content' may expose an internal array., 42, null, OPEN, null, d442c91479410f76c84b872da6aae139, null, null, null, null, 2011-11-02 08:36:34.126, 2011-11-02 08:36:34.126, 2011-11-02 08:36:34.126, 2011-11-02 08:36:34.126]
...
结果升级失败并且数据库处于不可用状态。显然,在推断新字段的类型时出了点问题(问题是一个新表),但我不确定它是否是特定于数据库的。我在 3.6 中看到了一些其他关于“违规到问题”迁移的问题报告,但没有一个与我的类似。有任何想法吗?
关于我的声纳安装的一些信息(来自系统信息):
- 视窗服务器 2008 R2
- Java 1.7.0_04b22
- Postgres 8.3.11
- PostgreSQL 本机驱动程序 PostgreSQL 9.1 JDBC3 (build 901)