Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 二进制列被转换为空Java类型_Sql Server_Jasper Reports_Jasperserver - Fatal编程技术网

Sql server 二进制列被转换为空Java类型

Sql server 二进制列被转换为空Java类型,sql-server,jasper-reports,jasperserver,Sql Server,Jasper Reports,Jasperserver,我在JasperReports服务器中创建了一个域。我有一个存储二进制数据的表。当我在我的域中使用它时,我收到一个错误消息,错误如下: java.lang.IllegalArgumentException:getObjectType for javaType:null 返回空值 我导出了架构并发现以下内容: <field id="Id" type="java.lang.Integer" /> <field id="FileData" type="null" /> 如

我在JasperReports服务器中创建了一个域。我有一个存储二进制数据的表。当我在我的域中使用它时,我收到一个错误消息,错误如下:

java.lang.IllegalArgumentException:getObjectType for javaType:null
返回空值

我导出了架构并发现以下内容:

<field id="Id" type="java.lang.Integer" />
<field id="FileData" type="null" />

如您所见,在type字段中使用null。我尝试将其更改为java.io.InputStream,这是我直接连接到数据源时它映射到的类型,但得到了相同的错误:

java.lang.IllegalArgumentException:getObjectType for javaType:
java.io.InputStream在
处返回null com.jaspersoft.commons.dataset.expr.ObjectTypeMapper.getObjectType(ObjectTypeMapper.java:69)

在我删除二进制列之前,任何使用该域的报告都无法运行。当我尝试在iReport中创建域报告时,它无法检索域字段。当我尝试使用临时报告工具时,我得到了上面的错误

我使用的是SQLServer2005,数据类型是“图像”。在我的视图中,我将该列强制转换为varbinary,以查看JasperReports是否能够识别它,并且仍然存在相同的错误

有人在JasperReports服务器域中成功使用过二进制数据类型吗


更新:我在applicationContext-semanticLayer.xml中配置了bean“jdbcMetaConfiguration”,以将二进制列映射到java.io.InputStream,但仍然收到相同的错误。映射起作用了,当我查看XML文件时,“null”被替换为“java;io.InputStream”,但我仍然得到IllegalArgumentException。

编辑:不,这是无法完成的。对不起

原始[过于乐观的]答案
特设编辑器无法处理图像(或其他二进制数据类型)。如果它能更优雅地忽略它们,那就太好了。。。但是你不能在那里使用它们也就不足为奇了


但是应该可以将字段定义为某种二进制文件(图像或字节数组,或者仅仅是一个对象或类似的东西),然后在iReport中使用它。

通常,iReport允许将其更改为java.io.InputStream,但是当域包含FileData列时,iReport无法显示域中的任何表。根据您的结果,我的理论正在崩溃。您是否记录了技术支持的案例?