Re: I can't read the data in the second time - Mailing list pgsql-odbc

From Milton
Subject Re: I can't read the data in the second time
Date
Msg-id 005e01c6162e$4dcec120$24000aaa@mapcardoso.com.br
Whole thread Raw
In response to I can´t read the data in the second time  ("Milton" <milton.siqueira@mapcardoso.com.br>)
Responses Re: I can't read the data in the second time  (Ludek Finstrle <luf@pzkagis.cz>)
List pgsql-odbc
> 2) turn off Text as LongVarchar in Datasource settings

It´s work only the last version (isn´t 08.01.06) than you were send to me.

This version solve all my problems...

Thanks, Luf!!!


----- Original Message -----
From: "Ludek Finstrle" <luf@pzkagis.cz>
To: "Milton" <milton.siqueira@mapcardoso.com.br>
Cc: "pgsql-odbc" <pgsql-odbc@postgresql.org>
Sent: Tuesday, January 10, 2006 5:05 PM
Subject: Re: [ODBC] I can't read the data in the second time


> There are cases than i can´t read the data one more time.
> See the VB example below:
>
> ================================
> dim rdoQuery as rdoResultset
> dim strValue as string
>
> set rdoQuery = connection.OpenResultset("SELECT '1' || '2' AS test",
rdOpenKeyset, rdConcurReadOnly)
>
> strValue = rdoQuery(0) ' Value is '12'
> strValue = rdoQuery(0) ' ERROR HERE: Invalid user of Null
>
>
> ================================
>
> The similar example work in the others DB (ORACLE, SQL SERVER, INFORMIX)

No. Same situation doesn't work againist MSSQL. When you try
"SELECT column FROM table1" where column is type longvarchar it fails
againist MSSQL:
=========================10.1. 2006 22:55:41=========================
 Access Column 'text' failed
Error: 40002 - S1109: [Microsoft][SQL Native Client]Invalid cursor position
rdoErrors: 0 - S1109: [Microsoft][SQL Native Client]Invalid cursor position
=========================10.1. 2006 22:55:41=========================

=========================10.1. 2006 22:55:40=========================
Query opened
 Command to Open SQL: OpenResultset('select codi as text from table1',
rdOpenKeyset, rdConcurReadOnly)
=========================10.1. 2006 22:55:40=========================

PgSQL backend handles varchar as text in functions. I don't know how to
change it. We don't know text type size. We can't get it from
backend (at least I don't know how). So ADO choose SQLGetData method
to get it. There is limitation to not call SQLGetData after whole
data is getting from column.

> Is it a bug in the pgsql-odbc?

I think it's not a bug in psqlodbc.

Workarounds:
1) retype column from text to varchar explicitely
2) turn off Text as LongVarchar in Datasource settings

I hope it helps or someone point that I make mistake somewhere.

Regards,

Luf

---------------------------(end of broadcast)---------------------------
TIP 4: Have you searched our list archives?

               http://archives.postgresql.org



pgsql-odbc by date:

Previous
From: Ludek Finstrle
Date:
Subject: Re: PsqlODBC slow on UNION queries
Next
From:
Date:
Subject: [ psqlodbc-Bugs-1000522 ] Enabling logging breaks ODBC for non administrators