[python-sybase] How to force a different datetime output?
Dave Cole
djc at object-craft.com.au
Fri, 28 May 2004 11:19:40 +1000
Skip Montanaro wrote:
>I'm trying to get the Object Craft Sybase module used at work instead of a
>homegrown hack. Based upon a lot of use of the homegrown module, one
>requirement is that dates be represented as floating point seconds since the
>Unix epoch. It appears that Sybase returns some sort of DateTime object.
>Given a DateTime object, d, both int(d) and float(d) fail for me with this
>sort of message:
>
> >>> float(d)
> Traceback (most recent call last):
> File "<stdin>", line 1, in ?
> File "/home/titan/skipm/local/lib/python2.3/site-packages/Sybase.py", line 154, in _cslib_cb
> raise Error(_fmt_client(msg))
> Error: Layer: 2, Origin: 1
> cs_convert: cslib user api layer: external error: Conversion between 12 and 10 datatypes is not supported.
>
>Can I cleanly get from a DateTime object to a float or do I have to inject a
>new version of _column_value() into Sybase.py? ('Twould be nice if there
>was a standard way to establish type converters on a per-connection basis.)
>
>
That is strange. Looking into the Sybase include files this seems to be
saying that it will not convert from CS_DATETIME_TYPE to CS_FLOAT_TYPE.
I am fairly sure that this should work. What version of the Sybase
client libraries are you using?
- Dave
--
http://www.object-craft.com.au