现象 :
同一代码,连接同一数据库,在ITA环境 和 本地debug 环境执行出的效果不一样。
产生原因:
两个环境的系统时间不同。
问题产生契機:
① 在执行バッチ这一类的程序时,有时我们会给环境设置上一个系统时间。
② 我们在ITA上执行程序出错时,有时会在自己的机器上debug执行程序,
看看到底是哪里出了问题。
当ITA上指定了一个时间,比如debug.date=20100501
这时,如果你本机运行时,就会出现问题。因为执行程序时,系统时间是不一样的。
产出问题的原因也许会有很多种,以下是我这次出现问题的原因:
系统会根据当前时间作为判断条件,从数据库里面抽出一些数据,并且对这些数据进行处理,如果一条也没有抽出,那就直接跳过。
当你的程序,在处理抽出数据时出错(ITA时间可以抽出数据),但是你的本地时间如果不设置debug.date=20100501,
那么就 抽不出数据,这就导致了本地执行没有问题,而ITA执行时出现问题。
总结:
以后在本地调试batch时,一定要注意debug.date=20100501的设置和ITA上的是否一致。