Error in connector or driver with big bytea

Поиск
Список
Период
Сортировка
От Hernan Danielan
Тема Error in connector or driver with big bytea
Дата
Msg-id AANLkTikZu7z5Ljb51rCaxZXWW_z_tI8q-8rsNiGK4NKs@mail.gmail.com
обсуждение исходный текст
Ответы Re: Error in connector or driver with big bytea  (Craig Ringer <craig@postnewspapers.com.au>)
Re: Error in connector or driver with big bytea  (Lew <noone@lewscanon.com>)
Список pgsql-jdbc
Hello! I have a problem for several days now. I am trying to insert a record with a file of 1.4MB in a postgre database with a JDBC connector. When i insert files around 100KB it works great. However it does not work with greater ones. I use both method bytea and oid but both of them give me the same error in the database log:


2010-05-22 15:30:44 ART LOCATION:  exec_bind_message, postgres.c:1769
2010-05-22 15:30:44 ART LOG:  08006: could not send data to client: Connection reset by peer
2010-05-22 15:30:44 ART LOCATION:  internal_flush, pqcomm.c:1108
.....
2010-05-22 15:30:45 ART LOCATION:  exec_execute_message, postgres.c:1988
2010-05-22 15:30:46 ART LOG:  08006: could not send data to client: Broken pipe
2010-05-22 15:30:46 ART LOCATION:  internal_flush, pqcomm.c:1108
....
2010-05-22 15:35:10 ART LOG:  00000: aborting any active transactions


With the following code

mDbConnector.setAutoCommit(false);
// Get the Large Object Manager to perform operations with
LargeObjectManager lobj = ((org.postgresql.PGConnection)mDbConnector).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);
byte []data = cont.getData();

obj.write(data,0,data.length);
obj.close();
PreparedStatement statement = mDbConnector.prepareStatement("INSERT INTO publicitiescontent (IdPublicities,MimeType,FileName,Title,Data) VALUES (?,?,?,?,?)");
statement.setBigDecimal(1, new BigDecimal(publicityId));
statement.setString(2, cont.getMimeType());
statement.setString(3, cont.getFileName());
statement.setString(4, cont.getNombre());
statement.setInt(5, oid);
statement.execute();
statement.close();
mDbConnector.commit();


Any ideas or bug detected in the connector with this problem?

Thanks in advance,
Hernan

В списке pgsql-jdbc по дате отправления:

Предыдущее
От: Rod
Дата:
Сообщение: Re: After server restart I get - An I/O error occured while sending to the backend.
Следующее
От: Daniele Depetrini
Дата:
Сообщение: Re: After server restart I get - An I/O error occured while sending to the backend.