2010-06-28 62 views
1

INFORMIX-SQL 2.10.06E(DOS 6.22):如何在没有DATETIME,CURRENT或TIME的情况下获取一天的时间?

这是在纯DOS下运行的isql的遗留版本之一,但不支持DATETIME或CURRENT!然而,王牌报告作者具有“时间”关键字常量,它以军事格式“hh:mm:ss”从系统时钟返回一天中的时间。我无法理解为什么RDS(在那些日子里,大约1988年)发布了一种提供TODAY的产品,但没有TIME常数或数据类型,但仅以ACE的形式提供它,RDS也没有提供Y2K的问题,等等。的一个技巧,例如:从TODAY的内部表示或嵌入引擎中的其他位置抽取时间?..从审计表中获得?..明确的解决方案是升级到isql 7.50或至少7.X.我的一些用户有,但其他人则固执己见。我可以创建一个cfunc为我提供系统时间,但我甚至无法在旧版本的DOS版本中找到自定义运行程序cperf或cace或ESQL/C 2.10。

回答

1

这个问题在1988年或1989年被解决了,弗兰克和AFAICR在同一时代的其他数据库管理系统有一个时间类型之前就被修正了。

基本上,在您正在使用的版本中处理该问题的唯一方法是通过您没有的ESQL/C。没有我知道的后门,技巧或解决方法。

现在是时候让该版本的代码休息。

不会从中移动的客户会导致您比收益更痛苦。

+0

我认为明显的解决方案是ESQL/C,如果用户拒绝升级。只是想,也许我可以从审计表中获取时间,或者弄清楚如何使用ace来更新具有ace时间函数的交易行。这是三个顽固的网站,他们只接受带有isql的windows平台作为升级选项,因此windows下不支持isql/i4gl。这些用户需要与他们的isql执行的屏幕相同的功能,所以即使i4gl可能无法剪切它,即使它可用于Windows。我不喜欢使用这些用户的恐吓手段。 – 2010-06-28 20:04:47

+0

那么isql 4.1的支持时间还是固定在5.0? – 2010-06-28 20:31:43

+1

@Frank:ISQL 4.00支持DATETIME和INTERVAL - 因此对于1988年9月的评论(相对于1991年12月31日的5.0x服务器而言;从来没有任何5.0x ISQL或I4GL产品)。 “INFORMIX手册”说,4.00的日期是1989年末。 – 2010-06-28 21:42:53

相关问题