Re: JDBC + PostgreSQL + LargeObjects
От | Paulo Delgado |
---|---|
Тема | Re: JDBC + PostgreSQL + LargeObjects |
Дата | |
Msg-id | 20020218145953.4926d7ed.pdelgado@pasaportevip.com обсуждение исходный текст |
Ответ на | JDBC + PostgreSQL + LargeObjects (Paulo Delgado <pdelgado@pasaportevip.com>) |
Список | pgsql-jdbc |
oh, i did "View source" and netscape crashed =) (don't have IEplore, linux box only) On Tue, 19 Feb 2002 06:49:06 +1100 Justin Clift <justin@postgresql.org> wrote: > Hi Paulo, > > From the browser window where you're getting the icon for "not an > image", do a "View Source" of the .html page. > > The way in which web pages work, there's probably an error buried in the > source code, and the browser isn't showing it to you. > > Doesn't always work, but commonly this is the case. > > Hope that's helpful. > > :-) > > Regards and best wishes, > > Justin Clift > > > Paulo Delgado wrote: > > > > Oh, i don't get an error message, instead, i see on the browser, the icon for a "not an image". > > I tried to wget it, and the newly downloaded file does not match the size of the original image, and i cannot open itwith an image viewer. > > I used the same SQL sentence using the console (the terminal), and using lo_export, and the exported image is correctlyexported. > > > > On Mon, 18 Feb 2002 09:44:43 -0800 > > Barry Lind <barry@xythos.com> wrote: > > > > > Paulo, > > > > > > If you could mention what error you are getting and what version of the > > > code you are using that would be helpful. > > > > > > --Barry > > > > > > > > > Paulo Delgado wrote: > > > > I'm writing a JSP which instead of generating HTML code, it sends an > > > > image to the browser. The image is retrieved from the database, where it > > > > is stored as a BLOB (an OID). I read the docs online, this is the URL: > > > > > > > > http://developer.postgresql.org/docs/postgres/jdbc-binary-data.html > > > > > > > > And this is the code (still not working) > > > > > > > > > > > > <%@ page import="java.io.*" %> > > > > <%@ page import="java.sql.*" %> > > > > <%@ page import="org.postgresql.largeobject.*" %> > > > > > > > > <% > > > > response.setContentType("image/jpeg"); > > > > out.close(); > > > > ServletOutputStream sos = response.getOutputStream(); > > > > try > > > > { > > > > Class.forName("org.postgresql.Driver"); > > > > } > > > > catch(ClassNotFoundException cnfex) > > > > { > > > > cnfex.printStackTrace(); > > > > } > > > > try > > > > { > > > > Connection mycon; > > > > mycon= > > > > DriverManager.getConnection("jdbc:postgresql://localhost:5432/database", > > > > "userid" , "password"); > > > > mycon.setAutoCommit(false); > > > > > > > > // Get the Large Object Manager to perform operations with > > > > LargeObjectManager lobj = > > > > ((org.postgresql.Connection)mycon).getLargeObjectAPI(); > > > > > > > > PreparedStatement ps = mycon.prepareStatement("SELECT pic FROM > > > > mytable WHERE month='"+request.getParameter("m")+"' AND > > > > year="+request.getParameter("y")); > > > > ResultSet rs = ps.executeQuery(); > > > > if (rs != null) { > > > > while(rs.next()) { > > > > //open the large object for reading > > > > int oid = rs.getInt(1); > > > > LargeObject obj = lobj.open(oid , LargeObjectManager.READ); > > > > > > > > //read the data > > > > byte buf[] = new byte[obj.size()]; > > > > obj.read(buf, 0, obj.size()); > > > > > > > > //do something with the data read here > > > > response.setContentLength(obj.size()); > > > > int i=0; > > > > for(i=0; i<obj.size() ; i++) > > > > { > > > > sos.write(buf[i]); > > > > } > > > > // Close the object > > > > obj.close(); > > > > } > > > > rs.close(); > > > > } > > > > ps.close(); > > > > mycon.close(); > > > > > > > > > > > > } > > > > catch(SQLException sqex) > > > > { > > > > out.println(sqex.toString()); > > > > } > > > > %> > > > > > > > > > > > > the table is created like this: > > > > > > > > CREATE TABLE mytable( > > > > pic oid, > > > > month int2 NOT NULL, > > > > year int2 NOT NULL, > > > > PRIMARY KEY (month, year) > > > > ); > > > > > > > > I've searched all over the docs, asked all over IRC, and still does not > > > > work. any ideas? > > > > > > > > > > > > > > > > ---------------------------(end of broadcast)--------------------------- > > > > TIP 4: Don't 'kill -9' the postmaster > > > > > > > > > > > > > > > > > > > > > ---------------------------(end of broadcast)--------------------------- > > TIP 6: Have you searched our list archives? > > > > http://archives.postgresql.org > > -- > "My grandfather once told me that there are two kinds of people: those > who work and those who take the credit. He told me to try to be in the > first group; there was less competition there." > - Indira Gandhi >
В списке pgsql-jdbc по дате отправления: