在建立BIRT的数据集的时候,如果使用下面的sql语句: select *from EXIMTRX.IMIS_MASTER WHERE C_UNIT_CODE=?
假如C_UNIT_CODE的字段是varchar类型的,sqlserver与oracle是一样的。如果是CHAR类型的,就有区别了。使用sqlserver时,传给这条sql语句的参数的字符长度不一定需要与数据库中定义的长度一致,而在使用oracle时,必须长度一致。例如,C_UNIT_CODE的长度是12,传个sql的参数是'CENJCMP',在使用oracle时,必须用空格补全长度,应该是'CENJCMP '。
本文讨论了在BIRT环境下创建数据集时,针对不同数据库类型(SQL Server与Oracle),如何处理SQL语句中参数长度的问题。特别是当参数为CHAR类型时,Oracle要求参数长度必须与数据库定义的长度一致。
1389

被折叠的 条评论
为什么被折叠?



