通过ORMLite运行会话格式化查询的正确方法是什么?我设置会话格式的原因是,我运行的查询从来没有检索任何结果,我一直得到一个荒谬的错误(你可以看到它在下面)。
这是我目前正在做的设置会话格式:
String sqlSession = "alter session set nls_date_format = 'DD-MON-YYYY HH24:MI:SS';";
Conn.My_Dao().queryRaw(sqlSession);
但是我一直得到以下错误:
java.sql.SQLException: Could not perform raw query for
alter session set nls_date_format = 'DD-MON-YYYY HH24:MI:SS';
我这样做的原因(正如我前面提到的)是,对于我运行的任何查询,我得到以下错误:
java.sql.SQLException: Problems parsing default date string '2021-01-01 00:00:00'
using 'yyyy-MM-dd HH:mm:ss.SSSSSS'
我过去在Oracle SQL中经历过类似的事情(准确地说,是一个老的PHP项目),我只是通过将会话格式设置为上述格式来处理它。
然而,我同意这可能不是这个问题最优雅的解决方案。最好的处理方法是什么?
java.sql。
查看nls_date_format = 'DD-MON-YYYY HH24:MI:SS';
在将来,当你得到一个异常时,一定要发布更多的异常。我怀疑有一个"由于"。在异常后面的行中,说这不是一个查询。
我猜你应该使用Dao.executeRaw(...)
方法而不是Dao.queryRaw(...)
。查询真正需要的是返回结果的select
语句。