RE : Postgres 8.0 + JDBC
От | Johann Robette |
---|---|
Тема | RE : Postgres 8.0 + JDBC |
Дата | |
Msg-id | 005a01c4ab74$fd193460$a5010a0a@Johann обсуждение исходный текст |
Ответ на | Re: Postgres 8.0 + JDBC (Oliver Jowett <oliver@opencloud.com>) |
Ответы |
Re: RE : Postgres 8.0 + JDBC
|
Список | pgsql-jdbc |
OK Thanks a lot for your answer. But as I'm a newbie in this field, could you give me an example of how to do that. I've already checked the array typename and it is "_text". You said : "It seems possible to fix the driver to handle this case by making setArray() derive a proper array type name i.e. ("_" + Array.getBaseType()), and using that rather than 'text' as the parameter type." How to do that? Thanks JR -----Message d'origine----- De : Oliver Jowett [mailto:oliver@opencloud.com] Envoyé : mardi 5 octobre 2004 22:11 À : Johann Robette Cc : pgsql-jdbc@postgresql.org Objet : Re: [JDBC] Postgres 8.0 + JDBC Johann Robette wrote: > java.sql.SQLException: ERROR: cannot cast type text to > text[] setArray has never worked particularly well; you're seeing another manifestation here. The underlying problem here is that: - setArray() is claiming that the type it is setting is a VARCHAR - the parameter is being passed as a typed parameter via the V3 protocol, with type = 'text' - apparently you can't cast directly from text -> text[] (although you can interpret an untyped literal as text[], which is why it worked before). It seems possible to fix the driver to handle this case by making setArray() derive a proper array type name i.e. ("_" + Array.getBaseType()), and using that rather than 'text' as the parameter type. I'll try to do this soon, but I'm a bit busy so it may be a few days. A longer term fix is to properly implement array support in setArray().. I've submitted patches in the past to do this but they've never made it into the official driver. -O
В списке pgsql-jdbc по дате отправления: