Hallo,
ich arbeite zum ersten mal mit PostgreSQL und möchte PostgreSQL 9 als Ersatz für MS SQL evaluieren.
Deshalb habe ich PG 9 RC und ODBC driver 8.04.02 (ANSI) installiert.
Das Programm (EXE), das über den ODBC Treiber auf PG zugreift (Windows 32bit, VC++) verwendet ANSI strings, nicht Unicode.
Wenn ich das folgende simple SELECT :
SELECT Kurzzeichen,Name_Feld,EURO_Umr_Faktor,NKStellen,RowTimestamp,RowUserID,RowDDMFields,RowID FROM Waehrungen ORDER BY Kurzzeichen
aus pgAdminIII absetze, dann funktioniert das ganz problemlos und korrekt.
(Auch mit MS SQL und SQL Server Native Client 10.0 ODBC Driver funktioniert es korrekt).
Aber wenn ich genau dasselbe SELECT für dieselbe PG-Installation/Datenbank über den PG ODBC Treiber absetze,
dann bekomme ich:
SQLRetcode=-1
SqlState=42601, NativeError=7, MessageText=ERROR; Syntaxfehler bei »,«;
Ich habe schon etwas mit ENCODING=WIN1252 statt UTF-8 (beim Server) und UNICODE odbc driver statt ANSI driver rumprobiert;
das ergibt folgende Resultate:
Mit dem UNICODE driver taucht die Meldung nicht auf, aber die Daten sind komplett korrupt.
Mit ENCODING=WIN1252 (am Server) ist die Meldung ein bischen verschieden:
SQLRetcode=-1
SqlState=42601, NativeError=7, MessageText=ERROR; syntax error at »,«;
Außerdem habe ich schon probiert mit Server-Encoding UTF-8 (wird standardmäßig bei DB-Anlage eingerichtet) und
Client-Encoding auf “WIN”, “LATIN1”, “LATIN5”; aber das hilft alles auch nix.
Was ist da falsch ?
Funktioniert der ODBC Treiber 8.04.02 mit PG 9 nicht ?
Oder fehlen irgendwelche Einstellungen oder sind falsch ?
Vielen Dank im Voraus für jede Hilfe oder Hinweis !
Werner