Hi,
(2013/05/16 22:48), Jan-Peter Seifert wrote:
>
> Hello,
>
>> Gesendet: Mittwoch, 15. Mai 2013 um 17:31 Uhr
>> Von: "Hiroshi Inoue" <inoue@tpf.co.jp>
>
>> There already had been a patch in 09.00.0100 but this problem obviously persists in psqlODBC 09.01.0100 Unicode.
Maybethis has been patched in the ANSI version only?
>
>> I don't understand why ANSI drivers work.
>
> That this has been fixed in the ANSI version only was just an assumption on my side, because the sudden increase of
the'known critical' characters seemed to be connected to the switch to the Unicode version of psqlODBC.
> It looks like the Unicode and the ANSI version use the 'same' internal functions though?
Yes it's essentially the same code.
>> Could you please try the dll on testing for 9.1.0300 at
>> http://www.ne.jp/asahi/inocchichichi/entrance/psqlodbc/index.html
>
> Thank you very much for the patch!
>
> We tested several passwords in connection with the SQLDriverConnect function and the Unicode version of psqlODBC:
>
> password: %2 (two chars!)
> submitted as:
> …;UID=user;PWD=%2; fails
> …;UID=user;PWD={%2}; works
>
> password: %25 (three chars!)
> …;UID=user;PWD=%25; fails
> …;UID=user;PWD={%25}; works
The psqlodbc driver expects Percent-Encoding for the password
option as well as the *Connect Settings* option unless the value
is enclosed with braces.
> password: }{
> …;UID=user;PWD={}{}; fails
The driver can't distinguish the first '}' from the terminating bracket.
Please look at http://msdn.microsoft.com/en-us/library/ms130822.aspx .
> password: abc
> …;UID=user;PWD=abc; works (as expected)
> …;UID=user;PWD={abc}; works
>
> Password: a;bc
> …;UID=user;PWD=a;bc; fails (as expected)
> …;UID=user;PWD={a;bc}; works
>
> Best regards,
>
> Peter