Thread: How to insert huge string from file to text field via JDBC ?

How to insert huge string from file to text field via JDBC ?

From
liuyuanyuan
Date:
Hi,
    Now I need to insert a huge string from a huge file (e.g. a 1 GB text document) to  a TEXT type field.
    But I don't know any other way to insert string except setString() for preparedStatement.
    Anyone know about this, please write to me. Thanks in advance!

    Best Wish! 

    Yours,
    Liu Yuanyuan
   August 14,2013
--------------
刘媛媛
山东瀚高基础软件股份有限公司
 研发中心
QQ:73129616

Re: How to insert huge string from file to text field via JDBC ?

From
dmp
Date:
I have not tried with that size of document, but using a standard
InputReader seems to work fine. Just setup a FileReader, buffer
into a StringBuffer then when finished use the stringBuffer.toString()
in the preparedStatement.

danap.


liuyuanyuan wrote:
> Hi,
>      Now I need to insert a huge string from a huge file (e.g. a 1 GB text document) to  a TEXT type field.
>      But I don't know any other way to insert string except setString() for preparedStatement.
>      Anyone know about this, please write to me. Thanks in advance!
>
>      Best Wish!
>
>      Yours,
>      Liu Yuanyuan
>     August 14,2013
> --------------
> 刘媛媛
> 山东瀚高基础软件股份有限公司
>   研发中心
> QQ:73129616



Re: How to insert huge string from file to text field via JDBC ?

From
David Johnston
Date:
While in theory this could work I would not recommend it.  If you try you'd
want to make sure your memory settings (and actual memory) can handle that
much data.

The first question to ask yourself (and tell others) is WHY you want to do
this.  For a document this large you should first consider storing the data
outside of the database and simply putting a "pointer" to said file in the
database.

A second option would be to compress the text file and use the "large object
api" to manipulate the data (or simply a bytea if the compressed data is
small enough).

I do not handle anything near that size so actual technical help I can
provide is limited.  For me I store text or bytea documents using the simple
"setObject/setString" methods and make sure my head memory allocation and
other memory settings are sufficiently large for processing the data through
Java.

Dave


dmp-2 wrote
> I have not tried with that size of document, but using a standard
> InputReader seems to work fine. Just setup a FileReader, buffer
> into a StringBuffer then when finished use the stringBuffer.toString()
> in the preparedStatement.
>
> danap.
>
>
> liuyuanyuan wrote:
>> Hi,
>>      Now I need to insert a huge string from a huge file (e.g. a 1 GB
>> text document) to  a TEXT type field.
>>      But I don't know any other way to insert string except setString()
>> for preparedStatement.
>>      Anyone know about this, please write to me. Thanks in advance!
>>
>>      Best Wish!
>>





--
View this message in context:
http://postgresql.1045698.n5.nabble.com/How-to-insert-huge-string-from-file-to-text-field-via-JDBC-tp5767394p5767425.html
Sent from the PostgreSQL - jdbc mailing list archive at Nabble.com.


Re: How to insert huge string from file to text field via JDBC ?

From
liuyuanyuan
Date:
        Thanks of all !
      Yes, this is unusual. But since a text field could store
up to 2GB , then I think  there must be a way to insert values up to 2G
in JDBC. I know about Large Object and bytea, and I just test text
datatype and want to get a exact result about whether we can insert
long string from huge file into text field or whst's the  maximum size.
     Hope to get more ideas from you.
 
 Best Regards! 
 Yours,
 Liu Yuanyuan
 
danap wrote:
>I have not tried with that size of document, but using a standard
>InputReader seems to work fine. Just setup a FileReader, buffer
>into a StringBuffer then when finished use the stringBuffer.toString()
>in the preparedStatement.
 
liuyuanyuan wrote:
> Hi,
>      Now I need to insert a huge string from a huge file (e.g. a 1 GB text document) to  a TEXT type field.
>      But I don't know any other way to insert string except setString() for preparedStatement.
>      Anyone know about this, please write to me. Thanks in advance!