Cheers, heh what a pain in the backside!!
Shouldn't these things be transparent to the user and hidden inside Oracle,
or am I just being a whining user...
Well, off to hack all my BMP's with setAutoCommit( false ), and fancy,
fancy, set it to empty, load it back in, and write to a steam stuff...
Ho Hum!!
Thanks SO much for the quick response!!!
You may have just saved my girlfriend her Christmas Present ;-)
Hee hee,
Tim.
> Take a look at the 8i App developer's guide for Large Objects & Java.
Something
> like this might work . . . (although you are using CLOB type, not BLOB).
It
> also might be that you are using a LONG type, not a CLOB type (don't use
LONG!).
>
> -- Tim
>
> // Create a Statement:
> Statement stmt = conn.createStatement ();
> try
> {
> ResultSet rset = stmt.executeQuery (
> "SELECT sound FROM multimedia_tab WHERE clip_id = 1");
> if (rset.next())
> {
> // retrieve the LOB locator from the ResultSet
> BLOB sound_blob = ((OracleResultSet)rset).getBLOB (1);
> OraclePreparedStatement ops =
> (OraclePreparedStatement) conn.prepareStatement(
> "INSERT INTO multimedia_tab (clip_id, sound) VALUES (2, ?)");
> ops.setBlob(1, sound_blob);
> ops.execute();
> conn.commit();
> conn.close();
> }
> }
>
> Tim Yates wrote:
>
> > Hiya!
> >
> > My Entity beans (BMP) have to write XML data into a CLOB field in an
oracle
> > database, but when I try to set it to a load of XML which is longer than
> > 4000 characters, I get the following exception:
> >
> > javax.ejb.EJBException: Error executing SQL INSERT INTO CONTENT
(DOCUMENTID,
> > STARTDATE, ENDDATE, DEPARTMENT, TYPE, XML, SUBTYPE) VALUES ( ?, ?, ?, ?,
?,
> > ?): java.sql.SQLException: ORA-01461: can bind a LONG value only for
insert
> > into a LONG column
> >
> > I am using classes12.zip for my drivers, and I am using the thin oracle
> > driver...
> >
> > Pleeeeease has anyone else hit upon this, and can they help? This is a
> > complete showstopper!! I cannot believe there is a 4000 char limit on
CLOBS
> > in Oracle 8i, else why use them? I might as well use a varchar2...
> >
> > I think tonight is the night I painfully remove all my hair ;-)
> >
> > Tim...
> >
> > PS: I write my clobs like this (in the BMP bit of the entity bean)
> >
> > statement = connection.prepareStatement("INSERT INTO CONTENT
> > (DOCUMENTID, STARTDATE, ENDDATE, DEPARTMENT, TYPE, XML, SUBTYPE) VALUES
(?,
> > ?, ?, ?, ?, ?, ?)");
> > statement.setString(1, documentid);
> > statement.setTimestamp(2, startdate);
> > statement.setTimestamp(3, enddate);
> > statement.setString(4, department);
> > statement.setString(5, type);
> > statement.setAsciiStream( 6, new ByteArrayInputStream(
> > xml.getBytes() ), xml.length() ) ;
> > statement.setString(7, subtype);
> > if (statement.executeUpdate() != 1)
> > {
> > throw new CreateException("Error adding row");
> > }
> >
> > with xml being a java.lang.String...
> >
> > --
> > --------------------------------------------------------------
> > To subscribe: [EMAIL PROTECTED]
> > To unsubscribe: [EMAIL PROTECTED]
> > List Help?: [EMAIL PROTECTED]
>
>
>
>
> --
> --------------------------------------------------------------
> To subscribe: [EMAIL PROTECTED]
> To unsubscribe: [EMAIL PROTECTED]
> List Help?: [EMAIL PROTECTED]
>
>
--
--------------------------------------------------------------
To subscribe: [EMAIL PROTECTED]
To unsubscribe: [EMAIL PROTECTED]
List Help?: [EMAIL PROTECTED]