当前位置: 首页 > 知识库问答 >
问题:

在Jaspersoft Studio中,Sql server过程返回的字段比预期的要少

翟淮晨
2023-03-14

我在Jaspersoft Studio(JSS)中运行了一个sql server过程,但是查询对话框只显示了一个字段。

它在JSS中的外观:

在SQL SERVER Management Studio中,它可以正常工作。该过程返回十多个字段...

 Connection conn = VAGASConnectionFactory.getNewConnectionSQLDRIVER(VAGASConnectionFactory.AMBIENTE.DESENV);
    CallableStatement cs = conn.prepareCall("{call pr_cria_tabela_relatorio_parametrizado(90918)}");
    ResultSet rs = cs.executeQuery();
    while(rs.next()) {
        System.out.println(rs.getString(1) + "," + rs.getString(2) + "," + rs.getString(3) + "," + rs.getString(4));
    }

Jasper Studio在单击“读取字段”时记录:

Start ClassPath Mapping
Mapping: Archive: file:/home/diego.queres/.eclipse/1695504528/configuration/org.eclipse.osgi/bundles/55/1/.cp/lib/jasperreports-6.1.1.jar
Mapping: Archive: file:/home/diego.queres/.eclipse/1695504528/configuration/org.eclipse.osgi/bundles/55/1/.cp/lib/jasperreports-chart-themes-6.1.1.jar
Mapping: Archive: file:/home/diego.queres/.eclipse/1695504528/configuration/org.eclipse.osgi/bundles/55/1/.cp/lib/jasperreports-fonts-6.1.1.jar
Mapping: Archive: file:/home/diego.queres/.eclipse/1695504528/configuration/org.eclipse.osgi/bundles/55/1/.cp/lib/jasperreports-functions-6.1.1.jar
Mapping: Archive: file:/home/diego.queres/.eclipse/1695504528/configuration/org.eclipse.osgi/bundles/40/1/.cp/lib/js-common.jar
Mapping: Archive: file:/home/diego.queres/.eclipse/1695504528/configuration/org.eclipse.osgi/bundles/40/1/.cp/lib/js-extra-classes.jar
End ClassPath Mapping

我使用的是Jasper Studio 6.1.1。我尝试使用Jasper Studio6.3.0,也没有成功。

共有1个答案

汪天宇
2023-03-14

经过多次尝试,我发现查询编辑器仅限于读取具有复杂存储过程(如我的存储过程)的字段。由于我的过程使用游标并动态地在字符串中进行sql查询,因此查询编辑器阻碍了读取过程方案。

我决定执行以下操作:将查询SQL打印到过程输出(print@SQL)。然后,我在查询编辑器窗口中剪切并粘贴运行的查询(在过程输出上)(而不是过程调用,而是“exec procedure....”)。因此,查询编辑器可以读取查询的字段。在查询编辑器读取字段之后,我删除查询SQL,并再次插入过程调用“EXEC procedure....”。

现在成功了:-)

 类似资料:
  • 因此,我使用PageObjects搜索包含图库的部分。 然后,我创建了一个小方法,它将返回这个库的所有行 这就是问题所在。我得到的每个Webelement都有xpath表达式“//div[@class='gallery-handeraly-row']”,而不仅仅是“sectiongallery”Webelement下面的webelements。

  • 问题内容: 当每个表只有340行时,以下查询将返回> 7000行。 为什么会这样?如果INNER JOIN仅在两个表中都有匹配项时才返回一行,那么为什么要为匹配项返回多行。 问题答案: 如果有一个以上的行具有相同的价值为相同的价值,那么你会得到重复的行,反之亦然。

  • 在Azure服务总线主题中,我有一个包含1000多条消息的订阅。这些消息由worker角色使用。出于监视目的,我想查看前10条消息,看看哪种消息正在等待处理。为了完成该任务,我创建了一个subscriptionclient,并调用方法PeekBatchAsync。奇怪的行为是,有时PeekBatchAsync返回的消息少于10条(即2条或4条)。 更多信息以澄清上下文: 我确信订阅包含超过1000

  • 问题内容: 我在接收几个参数的过程中使用一个简单的游标。然后,我在带有带多个条件的where子句的select查询上做一个游标,这些条件等于接收到的参数。该游标应该只返回1行,而是返回多行。我发现这是因为我使用了一个for循环来遍历此游标,然后根据该游标的值将内容插入到另一个表中。 当我在数据库上静态运行查询时(如不使用pl / sql一样),可以得到期望的结果,但是当我从游标执行查询时,该游标应

  • 关于使用Apache Beam for Python(Google Cloud Dataflow)开发地图缩减管道,我有两个问题。

  • 我正在使用JUnit和Mockito库来测试我的应用程序。问题是,当我在代码下面执行时,值在运行时没有返回空列表,并且测试失败。理想情况下,当get执行时,它应该返回空列表 我热切期待着支持。有没有人能帮我一下,如何通过这个测试用例???。如何通过Mockito使第8行的控件通过测试用例??? 请假设,下面两个类没有真实的代码,我们只有二进制文件作为JAR文件,我们不能修改下面的代码....我附上