我在Jaspersoft Studio(JSS)中运行sql server程序,但Query Dialog只显示一个字段。
它在JSS中的表现如何:
在SQL SERVER Management Studio中,它可以正常工作。该程序返回十个以上的字段......
有没有人见过类似案件?可能会发生什么?
我写了一个java代码来检查,并通过jdbc java应用程序,正常显示所有字段:
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));
}
此代码的结果正确运行:
JéssicaAlba,28/04 / 1981,35,Condado
Jim Carrey,17/01 / 1962,54,Goiana
但在Jasper Studio中,只显示一个字段 ....: - /
单击“读取字段”时的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 Studio 6.3.0,也没有成功。
答案 0 :(得分:0)
经过多次尝试后,我发现如果有一个复杂的存储过程(如我的话),查询编辑器仅限于读取字段。由于我的过程使用游标并在字符串中动态生成sql查询,因此查询编辑器会妨碍读取过程方案。
我决定执行以下操作:将查询SQL打印到过程输出(print @sql)。然后我剪切并粘贴在查询编辑器窗口中运行的查询(在过程输出上)(而不是过程调用," exec过程....")。因此,查询编辑器可以读取查询的字段。查询编辑器读取字段后,我删除查询SQL并再次插入过程调用,"执行程序...." 。
现在它起作用了: - )