[unixODBC-support] Re: select on date in Timesten throws "Numeric value out of range"

Martin Evans martin.evans at easysoft.com
Tue May 20 14:22:26 BST 2008


jothi libitha wrote:
> Hi,
> I got a reply from Martin Evans asking me to run help table in isql to 
> see the column types returned.
> 
> I tried the same. I don't get the table details displayed. I get empty 
> lines with message 'SQLRowCount returns -1'
> 
> SQL> help EMP
> +---------------------+---------------------+---------------------+---------------------+----------+---------------------+------------+------------+-------+-------+---------+---------------------+---------------------+--------------+-----------------+------------------+-----------------+------------+-------+-----------------+
> | TABLE_QUALIFIER     | TABLE_OWNER         | TABLE_NAME          | 
> COLUMN_NAME         | DATA_TYPE| TYPE_NAME           | PRECISION  | 
> LENGTH     | SCALE | RADIX | NULLABLE| REMARKS             | 
> COLUMN_DEF          | SQL_DATA_TYPE| SQL_DATETIME_SUB| 
> CHAR_OCTET_LENGTH| ORDINAL_POSITION| IS_NULLABLE| INLINE| LENGTH_SEMANTICS|
> +---------------------+---------------------+---------------------+---------------------+----------+---------------------+------------+------------+-------+-------+---------+---------------------+---------------------+--------------+-----------------+------------------+-----------------+------------+-------+-----------------+
> |                     |
> |
> +---------------------+---------------------+---------------------+---------------------+----------+---------------------+------------+------------+-------+-------+---------+---------------------+---------------------+--------------+-----------------+------------------+-----------------+------------+-------+-----------------+
> SQLRowCount returns -1
> 2 rows fetched
> 
> Thanks

When you do "help mytable" it calls SQLTables and it looks like either 
a) 'EMP' is not an existing table b) timesten does not handle SQLTables 
properly c) something else is broken in the build (e.g., the output 
above shows 2 rows fetched but we see nothing!

Some things you can do:

1. turn on tracing in unixODBC so we can see if the SQLTables call is 
working but not returning any rows and perhaps see some other metadata 
calls - add

[ODBC]
tracefile               = /tmp/unixodbc.log
trace           = yes

to your odbcinst.ini file, run the command above again and lets see the 
output from the SQLTables call.

2. prove 'EMP' table exists - can you do 'select * from emp' and get any 
output in isql?

3. does timesten have an information schema you can use to do a select 
instead of calling SQLTables e.g., select * from 
information_schema.tables which can be used to find out the column types.

Given you got 2 rows back but they contained nothing I am guessing 
either a) timesten is broken on this 64 bit platform b) timesten and 
unixODBC were built differently c) unixODBC is broken on this 64bit 
platform. I doubt c as I've seen it work myself.

Martin
-- 
Martin J. Evans
Easysoft Limited
http://www.easysoft.com

> ----- Original Message ----
> From: jothi libitha <libithashanmugam at yahoo.com>
> To: unixodbc-support at easysoft.com
> Sent: Monday, 19 May, 2008 1:32:49 PM
> Subject: select on date in Timesten throws "Numeric value out of range"
> 
> Hi,
> I have Timesten 7.0.3 installed on RHAS 4.1 64 bit system. I have 
> unixODBC 2.2.11 installed and I use the same to access TimesTen database 
> with DBD::ODBC from 64 bit perl.
> 
> I have a table that has a varchar field and date field. Whenever I try 
> to do a select on the date field, I get the following error
> /
> DBD::ODBC::st fetchrow_arrayref failed: [unixODBC][TimesTen][TimesTen 
> 7.0.3.0.0 CLIENT]Numeric value out of range (SQL-22003)
> /
> The same program works well with 32 bit TimesTen client and perl 
> installation.  I did a DBI trace and noted only difference between the 
> two: field type recognition
> 
> _32 bit perl (working)_
> col 1: TIMESTAMP (93) len= 16 disp= 21, prec= 20 scale=0
> col 1: 'CHANGED_TIME' sqltype=TIMESTAMP, ctype=SQL_C_CHAR, maxlen=21, 
> (dp = 0, cp = 0)
> 
> _64 bit perl (erroring out)_
> now using col 1: type = unknown (0), len = 16, display size = 16, prec = 
> 20, scale = 0
> 
> Could someone tell me where the problem is and how can it be solved?
> 
> Thanks,
> Libitha
> 
> 
> 
> ------------------------------------------------------------------------
> Has your work life balance shifted? Find out. 
> <http://in.rd.yahoo.com/tagline_glue_5/*http://in.search.yahoo.com/search?&fr=na_onnetwork_mail_taglines&ei=UTF-8&rd=r1&p=work+life+balance>
> 
> ------------------------------------------------------------------------
>  From Chandigarh to Chennai - find friends all over India. Click here. 
> <http://in.rd.yahoo.com/tagline_groups_10/*http://in.promos.yahoo.com/groups/citygroups/>
> 



More information about the unixODBC-support mailing list