对于Db2,一直抱有不太友好的态度,果真这两天发生了问题。程序在开发版上可以正常运行,到客户那边却SQL报错。
问题以下:
表:Test
Col1 (int) | Col (varchar 10)
1 | row1
2 | row2
Sql:
select sum(Col1 * (select Col1 from Test where (Col1=2) ) from Test
报错:
ERRORCODE=-112 html
几经查证后发现是DB2版本问题,一样的9.7,客户的版本没有安装fix pack.
IBM官方资料显示,该问题是在聚合函数里用子查询致使的,该问题在fp4修正。 express
IC70754: EXTENDING SUPPORT OF SUBQUERY IN AGGREGATE FUNCTIONS
http://www-01.ibm.com/support/docview.wss?uid=swg1IC70754 jsp
应为客户没法更新版本,因此只有咱们找对应版原本验证。官方网站可以下载到的Express-C的版本已是10.1,若是想下老版本的Express-C,能够从如下Ftp下载。ftp://ftp.software.ibm.com/software/data/db2/express/db2exc_images/ 函数
ps.百度的搜索是在不敢恭维,找了半天没啥发现。相同关键字在google上确实收获多多,无奈google频繁断线。 网站
墙你能不能再厚点....
另:DB2 9.7 fp1~fp7修正摘要 ui