我在Birt报告中遇到了一些麻烦,我似乎无法解决这个问题。对我来说,这似乎可能是一个Birt限制,所以我在这里问。如果是的话,我可以停止对此表示不满:
我觉得这里特别奇怪的是,我可以在调试器中看到正确检索族的值,但如果我尝试访问它,它总是为空。但是,如果我将列的类型设置为String,则会得到一个非null值。那么,为什么Birt这样做呢?
克里斯
答案 0 :(得分:0)
从过去的经验来看,我认为答案是BIRT只能表示相对简单的数据类型 - 本质上是字符,日期和数字(它似乎能够处理CLOB,但它们本质上是长字符串)。 / p>
由于它无法表示对象字段,因此它们在报告中显示为NULL。如果将对象字段的数据类型设置为字符串,它将以十六进制数字字符串形式显示对象的二进制内容。 (至少,这是我无意中从MySQL查询中返回对象时的经验。)
答案 1 :(得分:0)
如果Java对象在数据库中存储为blob,那么就我所知,BIRT将无法直接解释它。
您使用的是oracle数据库吗?如果您要通过备用客户端(而不是您的Java应用程序)进行连接,您是否可以查询该字段并获取有意义的数据? (如,是序列化数据,还是以blob格式存储)?