Thread: How to insert huge string from file to text field via JDBC ?
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
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
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.
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!