Re: Socket close exception

Поиск
Список
Период
Сортировка
От Hernan Danielan
Тема Re: Socket close exception
Дата
Msg-id AANLkTintl024fiq6EEYuJ7hwAJsZUVqJ9na_7hiWgTGB@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Socket close exception  (Maciek Sakrejda <msakrejda@truviso.com>)
Ответы Re: Socket close exception  (Maciek Sakrejda <msakrejda@truviso.com>)
Список pgsql-jdbc
Yes, the most interesting thing is that the log says 

unexpected EOF on client connection or  could not send data to client: Broken pipe

But this shouldn't be happening according to the code i sent because i do NOT close the socket. Moreover the transaction only takes up a few seconds. 

I read a person who had this problem and he fixed changing th cache size but I wasn't successful.

Any ideas?

On Fri, May 14, 2010 at 12:57 PM, Maciek Sakrejda <msakrejda@truviso.com> wrote:
Anything interesting in the postgres log when this happens?
---
Maciek Sakrejda | System Architect | Truviso

1065 E. Hillsdale Blvd., Suite 230
Foster City, CA 94404
(650) 242-3500 Main
(650) 242-3501 F
www.truviso.com



On Fri, May 14, 2010 at 8:09 AM, Hernan Danielan
<hernandanielan@gmail.com> wrote:
> Hello! I am using postgress 8.4. I am trying to save to my DB a Large Binary
> Object, let's say 1.4MB. I read that LargeObjectAPI should be used.
> I have a problem that sometimes i can store the file and some others i get
> an exception of
>>>org.postgresql.util.PSQLException: An I/O error occured while sending to
>>> the backend.
>>>java.net.SocketException: Socket closed
> I try to create a connection for each object but the errors perssist with
> big files. For smaller files like 13KB this example works great. Does
> anybody have this problem??? I debug the applcation and I am getting the
> socket close exception during obj.write (....) here is a bit of the 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();
>
> Thanks in advance,
> Hernan

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

Предыдущее
От: Maciek Sakrejda
Дата:
Сообщение: Re: Socket close exception
Следующее
От: Krutik Frank
Дата:
Сообщение: Exception 'org.postgresql.util.PSQLException' could not be instantiated