我有SQL Server 2008和JPA(EclipseLink)应用程序。我需要能够从存储过程中读取行。存储过程执行一些更新/ etc,但最后返回
select * from @result_table
现在,当我使用以下方式在JPA中访问它时:
String sql = "exec up_GetUpdatedRows ?, ?, ?";
entityManager = Factories.getEntityManager();
Query query = entityManager.createNativeQuery(sql);
query.setParameter(1, myKey).setParameter(2, workDate).setParameter(3, createdBy);
List<Object[]> obj = query.getResultList();
我收到以下错误:
Internal Exception: com.microsoft.sqlserver.jdbc.SQLServerException: The statement did not return a result set.
这适用于其他本机SQL。
有什么想法吗?
由于
答案 0 :(得分:4)
经过大量的反复试验,我终于找到了这个答案。我是从另一个问题here找到的。
问题在于没有使用SET NOCOUNT ON
。由于错误说没有结果集,所以非常令人困惑。然而,似乎有很多。