Обсуждение: Qustions about psqlODBC 08.02

Поиск
Список
Период
Сортировка

Qustions about psqlODBC 08.02

От
zhaoxin
Дата:
Hi.
  I have some questions with psqlodbc 08.02.0002 .
1> Is there only one driver installed by 08.02.0002 ? why?
   is it Unicode or ANSI ?
2> Is this driver thread safe ?
3> When I test the driver for ODBC Data Type by SQLColumns
   function , I found it return different value from 08.01.0200 .
   example:
              psqlodbc(08.02.0002)  psqlodbc(08.01.0200)
      char           -8              1
      char(1000)     -10             -1
      varchar        -9              12
      varchar(1000)  -10             -1
      text           -10             -10
      bytea          -3              -3
   why the return value changed ? where can I get the detailed change ?

If you could help me, that would be great!
thanks.

Regards,
zhao xin


Re: Qustions about psqlODBC 08.02

От
Bart Samwel
Дата:
zhaoxin wrote:
> Hi.
>   I have some questions with psqlodbc 08.02.0002 .
> 1> Is there only one driver installed by 08.02.0002 ? why?
>    is it Unicode or ANSI ?

Both. In terms of ODBC there is no difference, the earlier split into
two versions was for other reasons.

> 2> Is this driver thread safe ?
> 3> When I test the driver for ODBC Data Type by SQLColumns
>    function , I found it return different value from 08.01.0200 .
>    example:
>               psqlodbc(08.02.0002)  psqlodbc(08.01.0200)
>       char           -8              1

SQL_WCHAR = -8
SQL_CHAR = 1

>       char(1000)     -10             -1

SQL_WLONGVARCHAR = -10
SQL_LONGVARCHAR = -1

>       varchar        -9              12

SQL_WVARCHAR = -9
SQL_VARCHAR = 12

>       varchar(1000)  -10             -1
>       text           -10             -10
>       bytea          -3              -3

SQL_VARBINARY = -3

>    why the return value changed ? where can I get the detailed change ?

As you can see, it's Unicode versus ANSI. You obviously used the ANSI
driver in the 8.01 series. It's correct, really -- the driver merely
specifies that the data that it has is Unicode data. If you want to
retrieve it using ANSI encoding, that's no problem, just request the
columns using the SQL_C_CHAR type to indicate that you want to get your
data back in a single-byte ANSI encoding.

Cheers,
Bart

Re: Qustions about psqlODBC 08.02

От
zhaoxin
Дата:
To:Bart

Thanks for you response .

>
> As you can see, it's Unicode versus ANSI. You obviously used the ANSI
> driver in the 8.01 series. It's correct, really -- the driver merely

But I am sure that I used the Unicode driver with the default settings .
it need some other setting ?

> specifies that the data that it has is Unicode data. If you want to
> retrieve it using ANSI encoding, that's no problem, just request the
> columns using the SQL_C_CHAR type to indicate that you want to get your
> data back in a single-byte ANSI encoding.

What differents between Unicode and ANSI driver in usage ?
if I want to get the same behavior from 8.02 with 8.01 driver
that I used , how can I do ?

 BTW I don't understand the words :
     " just request the columns using the SQL_C_CHAR type ",
Could you give me a example ? thank you very much !

Regards,
zhao


> Cheers,
> Bart
>
> ---------------------------(end of broadcast)---------------------------
> TIP 1: if posting/reading through Usenet, please send an appropriate
>        subscribe-nomail command to majordomo@postgresql.org so that your
>        message can get through to the mailing list cleanly
>

--