Обсуждение: Qustions about psqlODBC 08.02
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
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
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 > --