【问题标题】:ou was not a ResultSet - MS SQL Driver issue with 6.x version and Hibernateou 不是 ResultSet - 6.x 版本和 Hibernate 的 MS SQL 驱动程序问题
【发布时间】:2018-05-10 13:48:27
【问题描述】:

我将 Hibernate 5.0.10、Java 7 和 Microsoft JDBC Driver 4.1 用于 SQL Server 版本 4.1.8112.100。

更改为 Microsoft SQL Server JDBC 驱动程序 6.4 后,我收到此错误:

当前 CallableStatement 不是 ResultSet,而是调用了 getResultList

在 getResultSet 的最后一行失败

public List<DocListResultExt> getDocuments(DocList doc) {
    StoredProcedureQuery query = entityManagerFactory
            .createEntityManager()
            .createNamedStoredProcedureQuery("getDocList");

    query.setParameter(....);

    List<Sp_get_doc_list> spList = (List<Sp_get_doc_list>)query.getResultList();

知道为什么它突然看起来与当前代码不兼容吗?

【问题讨论】:

  • 这个存储过程的代码是什么,具体是不是包含SET NOCOUNT ON

标签: java sql-server jdbc


【解决方案1】:

感谢@Mark Rotteveel 似乎添加了SET NOCOUNT ON解决了这个问题。有点没有解释为什么司机会以不同的方式处理这个问题,但没关系。

【讨论】:

  • 老实说,我预计早期的驱动程序版本也会出现同样的问题,但这是我能想到的唯一可以解释问题的方法。
猜你喜欢
  • 2010-10-15
  • 1970-01-01
  • 2010-11-13
  • 1970-01-01
  • 2010-10-05
  • 2011-05-08
  • 1970-01-01
  • 2011-09-16
  • 2012-10-28
相关资源
最近更新 更多