Re: ODBC Error while selecting a numeric data field

From: "Tom Ince" <tom(dot)ince(at)netzero(dot)net>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: ODBC Error while selecting a numeric data field
Date: 2002-07-12 19:31:20
Message-ID: c8GX8.792$iI5.303@nwrddc03.gnilink.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Well, I have managed to get the ODBC SQL select call to work with the
NUMERIC database type.

In the Windows ODBC Help file there is a section called "Converting Data
from SQL to C Data Types"

In this section there is a chart which shows the default conversion for the
SQL_NUMERIC data type to
a C data type is SQL_C_CHAR. So I made a stab and used that in my
SQLBindCol statement and it worked!

Here is my SQLBindCol statement that didn't work :
rc = SQLBindCol ( hstmt, i+1, SQL_C_NUMERIC, &fields[i].variant.f_numeric,
fields[i].size, &fields[i].length );

and here is the one that now works :
rc = SQLBindCol ( hstmt, i+1, SQL_C_CHAR, &fields[i].variant.f_char,
fields[i].size, &fields[i].length );

I am still a little curious as to why the original way did not work, if
anyone can point that out to me it would be
greatly appreciated...

"Tom Ince" <tom(dot)ince(at)netzero(dot)net> wrote in message
news:_CEX8(dot)812$ak5(dot)680(at)nwrddc01(dot)gnilink(dot)net(dot)(dot)(dot)
> I have done a test and created the table with the field being a float
> instead
> of numeric and everything works fine.
>
> Any help please???
>
>
> "Tom Ince" <tom(dot)ince(at)netzero(dot)net> wrote in message
> news:OLCX8(dot)718$ak5(dot)93(at)nwrddc01(dot)gnilink(dot)net(dot)(dot)(dot)
> > I have tried PostgreSQL version 7.1.3 with iODBC-3.0.5
> >
> > and
> >
> > PostgreSQL version 7.2.1 with iODBC-3.0.6
> >
> > and in both cases I get an error when attempting to do a select on a
field
> > with the numeric data type.
> >
> > Using the psql program I do the following :
> >
> > CREATE TABLE test (lat numeric(9,6) );
> > INSERT INTO test VALUES (12.23);
> > SELECT * FROM test;
> >
> > When I do the select in the psql program I get :
> >
> > lat
> > ----------
> > 12.230000
> > (1 row)
> >
> >
> > Now, I have an application attempting to perform the same SELECT
statement
> > using the iODBC drivers SDK.
> > When calling SQLFetch with a SELECT statement attempting to pull data
from
> a
> > field of type NUMERIC, I get
> > the error :
> >
> > 07006
> > Received an unsupported type from Postgres.
> >
> >
> > Please help....
> >
> >
> >
>
>

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message --CELKO-- 2002-07-12 20:15:28 Re: recursing down a tree
Previous Message Tony Reina 2002-07-12 18:58:07 Re: 7.2.1 optimises very badly against 7.2