2013-12-20 34 views
1

我有一个项目,使用SQL来访问一个DB2数据库。我在代码上运行junit测试用例时使用了一个HSQL数据库。 java项目通过iBATIS使用SQL。错误使用DATE函数与HSQL

如果HSQL遇到DATE函数,我会遇到错误,例如DATE(STATUS_CREATE_TS)解决方案的任何想法?

---原因:java.sql.SQLException中:在 在 org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.doTranslate(SQLStateSQLExceptionTranslator.java:98)日期 组织:用户缺少特权或找不到对象.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72) 在 org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80) 在 org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator .translate(AbstractFallbackSQLExceptionTranslator.java :80) 在 org.springframework.orm.ibatis.SqlMapClientTemplate.execute(SqlMapClientTemplate.java:203) 在 org.springframework.orm.ibatis.SqlMapClientTemplate.queryForObject(SqlMapClientTemplate.java:268)

谢谢。

+1

什么是错误信息说? –

+0

---原因:java.sql.SQLException中:在org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.doTranslate(SQLStateSQLExceptionTranslator.java:98)日期 \t – jimmy

回答

3

该函数特定于DB2,不直接支持HSQLDB。

您可以定义功能为您的测试为:

create function date(ts timestamp) returns date return cast(ts as date); 
+0

谢谢您的答复:用户缺少特权或找不到对象。我在哪里可以在HSQL中定义这个功能? – jimmy

+0

这是一条SQL语句。你执行一次。 DB2允许类似地定义函数。 – fredt

+0

这种方法有效。谢谢 – jimmy