Thanks Achilleas
So how do you save the bytea data? I get:
Method org.postgresql.jdbc4.Jdbc4PreparedStatement.setBinaryStream(int, InputStream) is not yet implemented Achilleas Mantzios wrote:
Στις Tuesday 07 April 2009 16:31:11 ο/η Brad Milne έγραψε:
Hi all
I'm a Java dev, new to postgres. I've just migrated an app during
development from Derby to Postgres (due to better indexing features),
but am very confused by the failing BLOB implementations.
PostgreSQL: 8.3.7
PostgreSQL-JDBC: 8.3-604
JDK: 6
A lot of what I've seen in searches and even in the google groups page,
seems to be related to older jdbc drivers, where BLOBs were supported,
both for OID and bytea. I'm currently getting 'unimplemented' exceptions
doing anything with BLOBs.
My application saves sound files as byte arrays to the database.
Q1: Given that it's sound and not text, would it be safe to use bytea
given that certain characters need to be escaped?
I have been storing binary data in bytea for ages with postgresql,
with no major problems.
Performance might be an issue.
It is a good practice to store along with the bytea value,
its mime type as well.
So in your binary library you could have mp3s,oggs,mpegs, ms docs, jpegs, pdfs,
and your servlet would know exactly the content type to serve to the client.
Also to answer your question about safeness/escaping, etc...
those are taken care by the jdbc driver.
Q2: How on earth do I use the BLOB methods? In particular setBlob(int
parameterIndex, InputStream inputStream) and/or createBlob() and
setBlob(int parameterIndex, Blob x)?
I never did anything with BLOBs so no experience from me here.
Thanks a lot
Brad