Re: Problem in using PostgreSQL ODBC driver with VBA
От | Vincenzo Turturro |
---|---|
Тема | Re: Problem in using PostgreSQL ODBC driver with VBA |
Дата | |
Msg-id | efe15476-1cfc-ceb5-c31d-9469045204c4@regione.toscana.it обсуждение исходный текст |
Ответ на | Re: Problem in using PostgreSQL ODBC driver with VBA ("Tsunakawa, Takayuki" <tsunakawa.takay@jp.fujitsu.com>) |
Список | pgsql-odbc |
Il 08/11/2016 01:58, Tsunakawa, Takayuki ha scritto: > From: pgsql-odbc-owner@postgresql.org >> [mailto:pgsql-odbc-owner@postgresql.org] On Behalf Of Fred Parkinson >> One thing I now remember from when this issue first appeared is that there >> was another possible solution. >> When trying to use FALSE or TRUE in an Access query that uses a postgres >> boolean, I would get the error: >> ODBC call failed: ERROR: operator does not exist: boolean = integer;... >> >> Apparently you can write an operator and add it to the postgres server, >> an operator that will perform the comparison between a boolean and an >> integer. >> The intern I was working with at the time tried once to write that operator, >> but when his attempt failed at the first try, we went with the kludge because >> we were in a hurry and didn't want to spend the time debugging his code. >> >> I am not sure but I think the operator was written in PHP. In any case, >> that might be a fruitful line of inquery given that you can't rewrite a >> major application to use the kludge I describe below. > A dirty hack is to run the following UPDATE only once on the target database. You can do this from any program such aspsql. > > UPDATE pg_cast > SET castcontext = 'I' > > WHERE castsource = 'int'::regtype AND > casttarget = 'boolean'::regtype; > > This will make the type cast from integer to Boolean implicit, enabling the comparison like "WHERE 1 = true". > > But implicit casts might cause unexpected trouble. If you find something wrong, revert the castcontext to 'e'. > > Regards > Takayuki Tsunakawa Arigato ! Thank you very much for your answer. I tried your suggestion and it worked ! But, in order to have the issue solved, I had to slightly change the SQL statement you provided: SET castcontext = 'i' (lowercase) instead of SET castcontext = 'I' (uppercase) Thank you again ! Kon'nichiwa (in Italy is late morning ...) ------------------------------------------------------------ Vincenzo Turturro Regione Toscana Direzione generale Governo del territorio Sistema Informativo Territoriale ed Ambientale Via di Novoli 26 50127 Firenze Tel 055 43 83 855 ------------------------------------------------------------
В списке pgsql-odbc по дате отправления: