我正在通过Delphi XE2,dbExpress和ODBC从SQL Anywhere数据库中检索TIMESTAMP数据。 读取数据会抛出一个EConvertError,说“UngültigesArgumentzum Kodieren der Zeit”(“编码时间的参数无效”)。
在我看来,dbExpress ODBC驱动程序使用纳秒而不是毫秒的值填充TSQLTimeStamp结构的“分数”字段。 ODBC以纳秒为单位传递分数here。 我可以通过使用AsSQLTimeStamp获取数据并将值除以1000000来执行(坏)解决方法。
这是dbExpress ODBC-Driver中的错误吗? 或者是否有一些奇怪的标志或参数我必须设置为以毫秒为单位获得“分数”?
答案 0 :(得分:1)
几个月前,我将此问题发布到了Embarcadero错误报告门户。
https://quality.embarcadero.com/browse/RSP-23494
对于Delphi 10.3.2,现在将其标记为“已解决”。我尚未尝试过此版本,但我会在确认时确认它可以工作。