我使用Uniobjects for Java从Win7Pro连接到AIX 5.3框。当udcs用户登录时,执行/ etc / profile。似乎没有来源/ etc / environment。
如果rpc方法(使用aix用户'sbr')调用使用TIME()的Unidata子例程,则其结果为UTC。如果同一个用户('sbr')登录并执行相同的操作(没有rpc),则TIME()返回UTC-5。
当与我的支持人员讨论这个时,我被告知UniObjects rpc调用execute / etc / profile,但从不检查用户主目录中的.profile。就像我在第一句中说的那样,似乎也没有使用/ etc / environment。
注意:我最初没有将其标记为java,因为这与对同一rpc服务的VB绑定一致。
答案 0 :(得分:1)
这不是你将通过UniObjects解决的问题。您需要确保为服务器本身的udcs用户设置了正确的时区。
答案 1 :(得分:0)
我花了几个小时试图解决这个问题。
这里真正的解决方案是不依赖于TIME()函数来处理任何重要的事情。如果你在这个特定的盒子上解决问题,只需将它移动到另一个盒子,问题可能会再次出现。
此外,如果其他程序对时区设置(即.cron作业)同样敏感,那么弄乱这些设置可能会与这些设置发生冲突。
幸运的是,我可以重构我的UniBasic函数,不依赖于TIME()函数。
祝你好运!