Return to Snippet

Revision: 46567
at May 21, 2011 16:00 by arunpjohny


Initial Code
conn.setAutoCommit(false);

// Get the Large Object Manager to perform operations with
LargeObjectManager lobj = ((org.postgresql.PGConnection)conn).getLargeObjectAPI();

// Create a new large object
int oid = lobj.create(LargeObjectManager.READ | LargeObjectManager.WRITE);

// Open the large object for writing
LargeObject obj = lobj.open(oid, LargeObjectManager.WRITE);

// Now open the file
File file = new File("myimage.gif");
FileInputStream fis = new FileInputStream(file);

// Copy the data from the file to the large object
byte buf[] = new byte[2048];
int s, tl = 0;
while ((s = fis.read(buf, 0, 2048)) > 0) {
    obj.write(buf, 0, s);
    tl += s;
}

// Close the large object
obj.close();


//later
ps.setInt(<index>, oid);



conn.commit();
conn.close();

Initial URL
http://www.postgresql.org/docs/7.4/static/jdbc-binary-data.html

Initial Description


Initial Title
Postgres: How to insert oid value using JDBC API

Initial Tags


Initial Language
Java