Problem inserting Stream or ByteArray into Blob field.

Hello,
I am attempting to insert a file that has been converted into a byte array and also an input stream. When the file is less than 50kb it does successfully get inserted into the Blob field. When it is larger, it fails with the following stack trace:
06/12/07 10:20:57 java.sql.SQLException: Invalid argument(s) in call
06/12/07 10:20:57 at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
06/12/07 10:20:57 at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
06/12/07 10:20:57 at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:269)
06/12/07 10:20:57 at oracle.jdbc.dbaccess.DBItem.setArrayData(DBItem.java:270)
06/12/07 10:20:57 at oracle.jdbc.dbaccess.DBItem.setArrayData(DBItem.java:246)
06/12/07 10:20:57 at oracle.jdbc.dbaccess.DBDataSetImpl.setBytesBindItem(DBDataSetImpl.java:2484)
06/12/07 10:20:57 at oracle.jdbc.driver.OraclePreparedStatement.setItem(OraclePreparedStatement.java:1219)
06/12/07 10:20:57 at oracle.jdbc.driver.OraclePreparedStatement.setBytes(OraclePreparedStatement.java:2307)
06/12/07 10:20:57 at com.evermind.sql.PreparedStatementBCELProxy.setBytes(PreparedStatementBCELProxy.java:201)
06/12/07 10:20:57 at mil.dla.finance.issueTracker.AbstractIssueTrackerAction.insertNewIssueItem(AbstractIssueTrackerAction.java:265)
06/12/07 10:20:57 at mil.dla.finance.issueTracker.WriteIssueAction.execute(WriteIssueAction.java:181)
06/12/07 10:20:57 at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
06/12/07 10:20:57 at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
06/12/07 10:20:57 at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
06/12/07 10:20:57 at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
06/12/07 10:20:57 at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
06/12/07 10:20:57 at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
06/12/07 10:20:57 at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
06/12/07 10:20:57 at oracle.security.jazn.oc4j.JAZNFilter.doFilter(Unknown Source)
06/12/07 10:20:57 at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:16)
06/12/07 10:20:57 at mil.dla.finance.common.filters.UserAuthFilter.doFilter(UserAuthFilter.java:201)
06/12/07 10:20:57 at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:645)
06/12/07 10:20:57 at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:322)
06/12/07 10:20:57 at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:790)
06/12/07 10:20:57 at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:270)
06/12/07 10:20:57 at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:112)
06/12/07 10:20:57 at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192)
06/12/07 10:20:57 at java.lang.Thread.run(Thread.java:534)
Any assistance would be greatly appreciated.

I thought I had found the answer here: http://www.oracle.com/technology/sample_code/tech/java/codesnippet/jdbc/lob/LobToSP.html
I adapted the Clob code to a Blob:
private BLOB getBLOB( byte[] array)
throws Exception {
BLOB b = null;
try {
// create a new temporary BLOB
b = BLOB.createTemporary( conn, true, BLOB.DURATION_SESSION );
// Open the temporary BLOBin readwrite mode to enable writing
b.open( BLOB.MODE_READWRITE );
b.setBytes(array);
// Get the output stream to write
} catch ( Exception exp ) {
     // Free BLOB object
b.freeTemporary( );
// do something
return b;
however, it appears that the BLOB being returned is null, and when sent to the DB, nothing is actually written. So any help/suggestions would be greatly appreciated.
Message was edited by:
SFBell09

Similar Messages

  • Inserting Image into BLOB field from URL

    Is it possible to insert an image into a BLOB field from a URL? I don't have access to the filesystem on the server and I have a page that uses PL/PDF to generate dynamic PDF files from data I pull from the database. I would like to include my companies official header with logo on the top of the PDFs I generate and need to somehow get the image which I currently have uploaded to the images section in Application Express and can access from the "Shared Components => Images" section of the Application Builder. I just want to be able to either query whatever table holds those images or copy the image I need to a blob field in one of my tables so I can use it in my PDF document.
    The other alternative (which is what I first mentioned above) would be to try and perform an insert into the BLOB field in my table but the location of the image file would be like "http://www.myportal.com:7777/pls/htmldb/wwv_flow_file_mgr.get_file?p_security_group_id=1234567&p_flow_id=111&p_fname=myimage.jpg".
    Is this possible? If not, what can I do?
    Thanks in advance.

    The reason why I am asking this question in this forum is two-fold:
    1. I am using Application Express (AE).
    2. Since I am using AE all images that I upload to my workspace are stored in a table in a database and not as an actual file in a directory structure like in Windows etc. This being the case, I can't ever reference any of the files that I upload to my workspace in order to insert them into my BLOB field unless I know their physical location on disk (which of course does not exist b/c they are stored in the AE database somewhere). If I knew AE's database and table structure I could do a "select into ..." from whatever table stores my uploaded images and save those images to my own custom table in my BLOB field.

  • Cannot insert value with : into BLOB field

    I am using Oracle 10g Express Edition.
    Attempting to run this insert from the SQL Commands page:
    INSERT INTO table1 (col1, col2)
    VALUES ('one', '\"2.001:2372.002:002.005:Y2.018:G')
    Table1 info:
    col1 = VARCHAR2(25)
    col2 = BLOB
    After I click Run an Enter Tab Variables appears?
    Is it possible to insert the value straight into col2 without entering bind variables?

    wrong forum

  • How to insert image file as a field value into blob field type using insert statment

    i have a column named picture of datatype BLOB
    now i want to insert an image file into that column using
    INSERT state so that it can be called in a jsp file using
    getBLOB request method.
    HELP!!
    thank you
    sal

    See this link
    http://www.psoug.org/reference/dbms_lob.html

  • Problem w/ image item using 9i BLOB field and InterMedia ORDImage Object

    Hi,dear all,
    I have a problem with image item in Form 6i. Oracle 9i is used as backend DB, and a table contains image data is created for testing:
    create table image_test(
    id number,
    image blob
    In Form 6i, there is no problem to create a block for inserting/updating the image record into the database. However, it can not be used to retrieve image (blob field), the image item remains empty after 'execute query', while the id field can be retrieved. When the same table is created in Oracle 8.1.7, and the exact same form can be used without any problem both in inserting and retrieval. It seems that the Oracle 9i does not use the same way to store BLOB column. Has anybody ever encountered this problem? How to retrieve image (BLOB) in Form 6i from Oracle 9i?
    I tried to use interMedia ORDImage as the data type in Oracle 9i, that is,
    create table image_test(
    id number,
    image ORDSYS.ORDImage
    Same problem, the form can insert record with image, but when retrieving, nothing displayed. Anybody could help! Thanks in advance!

    hi!
    well working with oracle8i and form6i.
    same problem..but i used (instead of blob or clob as datatype..) Long raw..
    it can be saved as usual..i mean Commit..
    and can be retrieved..using Execute_Query..its working fine..
    well if anybody get any other solution..do inform..
    mail_id:
    [email protected]

  • Problem building a trigger using a BLOB field in Oracle 10

    My case is the following,
    I'm trying to implement an AFTER trigger which uses the :new.blob_field to insert the new value in a table. Because of the documented AFTER restriction and :new use for blob fields, I've though to add other BEFORE trigger that calls a procedure in which I can store the :new value and later insert the temporary value in the table when the AFTER trigger is executed.
    The Idea is the following:
    BEFORE trigger :new -> TEMP
    and then
    AFTER trigger uses TEMP to store in the new table
    So, the final questions are the following:
    -Any other idea to do the same, that is, to use the ":new" value in an AFTER trigger?
    -How can I do this with the temp variable, is this correct?:
    PROCEDURE store_blob ( new_val BLOB ) IS
    BEGIN
    DBMS_LOB.CREATETEMPORARY(new_blob_temp,TRUE, DBMS_LOB.SESSION);
    -- fill with data
    DBMS_LOB.COPY (new_blob_temp,new_val,DBMS_LOB.GETLENGTH(new_val),1,1);
    END store_blob ;
    Because of the design of the application I have to use the AFTER trigger to store the new value so I must find a solution for this type of fields.
    Sorry for the size of the text and also for my english.
    Thanks in advance

    SQL> create or replace trigger trg1 after insert on test_blob for each row
      2  begin
      3  insert into test_blob2 values (:new.a);
      4  end;
      5  /
    Trigger created.
    SQL> insert into test_blob values ('123456789');
    1 row created.
    SQL> desc test_blob;
    Name                                      Null?    Type
    A                                                  BLOB
    SQL> desc test_blob2
    Name                                      Null?    Type
    A                                                  BLOB
    SQL>
    SQL> select dbms_lob.getlength(a) from  test_blob2;
    DBMS_LOB.GETLENGTH(A)
                        5

  • Insert doc/pdf/jpg into BLOB using forms (web based)

    Hi All,
    we have 81741 db on window2000(data server), forms6.0.8.20.1 on windows2000(webserver)
    & users using IE6/netscape as setup. User wants to store a pdf/doc/jpg file (stored on his PC)
    into database.
    He wants ability to view this pdf/doc/jpg later & have ability to download again to his pc. Please note
    that we have web based setup & not using HTTP server (using WebDB listener).
    I am planning to use BLOB to store the table in database, but cannot figure out what/how to force forms
    to do this.
    If someone has done this before, could you please update this thread on how to proceed.
    Thanks a lot for your input...
    Abhi.

    AS far as inserting images you can use the image item in Oracle Forms and base it on a blob column in the database.
    Regarding the other types of data you can upload them to the database using a Java function on the application server (use the java importer from Forms to call the Java class). You can use another Java function to retrieve the info from the database to the application server, and then use web.show_document to get the file from the application server to the client.
    Or you can wait a few weeks for the Webutil utility that will have this functunality built into it.

  • Problem inserting special Hungarian characters into db

    Hi,
    I've posted this question in the database connection forum
    but put it here too because I don't know where to fit better.
    I read that it would be the most straightforward way to do
    everything in UTF-8 because it handles well special characters so
    I've tried to set up a simple testing environment. Besides I use CF
    MX7 and my hosting provider creates the dsn for me so I think the
    db driver is JDBC but not sure.
    1.) In Dreamweaver I created a page with UTF-8 encoding set
    the Unicode Normalization Form to "C" and checked the include
    unicode signature (BOM) checkbox. This created a page with the meta
    tag: <meta http-equiv="Content-Type" content="text/html;
    charset=utf-8" />. I've checked the HTTP header with an online
    utility at delorie.com and it gave me the following info:
    HTTP/1.1, Content-Type: text/html; charset=utf-8, Server:
    Microsoft-IIS/6.0
    2.) Then I put the following codes into the top of my page
    before everything:
    <cfprocessingdirective pageEncoding = "utf-8">
    <cfset setEncoding("URL", "utf-8")>
    <cfset setEncoding("FORM", "utf-8")>
    <cfcontent type="text/html; charset=utf-8">
    3.) I wrote some special Hungarian chars
    (<p>őű</p>) into the page and they displayed
    well all the time.
    4.) I've created a simple MySQL db (MySQL Community Edition
    5.0.27-community-nt) on my shared hosting server with phpMyAdmin
    with default charset of UTF-8 and choosing utf8_hungarian_ci as
    default collation. Then I creted a MyISAM table and the collation
    was automatically applied to my varchar field into wich I stored
    data with special chars. I've checked the properties of the MySQL
    server in MySQL-Front prog and found the following settings under
    the Variables tab: character_set_client: utf8,
    character_set_connection: utf8, character_set_database: latin1,
    character_set_results: utf8, character_set_server: latin1,
    character_set_system: utf8, collation_connection: utf8_general_ci,
    collation_database: latin1_swedish_ci, collation_server:
    latin1_swedish_ci.
    5.) I wrote a simple insert form into my page and tried it
    using both the content of the form field and a hardcoded string
    value and even tried to read back the value of the
    #FORM.special_char# variable. In each cases the special Hungarian
    chars changed to "q" or "p" letters.
    Can anybody see something wrong in the above mentioned or
    have an idea to test something else?
    I am thinking about to try this same page against a db on my
    other hosting providers MySQL server.
    Here is the to the form:
    http://209.85.117.174/pages/proba/chartest/utf8_1/form.cfm
    Thanks, Aron

    Some new info about the advancements in my project:
    I've tried to make the insertion at a third hosting
    provider's MySQL server with my 'everything is UTF-8' test case and
    IT'S DONE! There are my lovely spec chars :-)
    Then I've checked the char encoding according -Per's tip in
    all of my so far used test MySQL dbs and it reported that
    'CHARSET=utf8 COLLATE=utf8_hungarian_ci' so this part seems to me
    OK.
    I asked my hosting provider where my production app should
    run about the db driver and they told it's JDBC (what version of
    Jconnect still donno') and they are ready to append
    &characterSetResults=UTF-8 to the JDBC url connection string
    (somebody told this tip also as a possible soultion) but they asked
    me to provide the complete connection string to be used for my
    datasource. I've tried to compose it in my localhost development
    environment in ColdFusion Admin but it gave me a Connection
    verification failed error. So I think I did something wrong and
    need help to write the correct connection string that can be passed
    to the hosting provider. So the connection string structure I tried
    to use in the JDBC URL field of the datasource area of CFAdmin is
    something like this:
    jdbc:mysql://someipaddresshere/mydbname&characterSetResults=UTF-8
    How can it be corrected?
    Thanks, Aron

  • Examples of hwo to insert an XML file into a field which is of type CLOB

    I am trying to use the following command, but it does not work, due to a type issue, anyone have another example?
    INSERT INTO TEST VALUES (xmltype(bfilename('c:\', 'c:\test.xml') , nls_charset_id('AL32UTF8')));

    I get the following error, probably means the file referenced is not available...
    SQL Error: ORA-22806: not an object or REF
    22806. 00000 - "not an object or REF"
    *Cause:    An attempt was made to extract an attribute from an item that is
    neither an object nor a REF.
    *Action:   Use an object type or REF type item and retry the operation.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • How can i store image into blob field in oracle express ??

    Hi
    am using oracle express *(2.1)* , i am devloping a small system , we have to store an image in blob filed in a table, we have to create a form which allow the user to store the image in the table and to generate a report contains the image
    any note's please
    tahnk's in advance
    sam
    Edited by: user485341 on Dec 22, 2008 1:28 AM

    hi Andy
    this is the code for download
    create or replace PROCEDURE download_my_file(p_file in number) AS
    v_mime VARCHAR2(48);
    v_length NUMBER;
    v_file_name VARCHAR2(2000);
    Lob_loc BLOB;
    BEGIN
    SELECT MIME_TYPE, BLOB_CONTENT, FILE_NAME,DBMS_LOB.GETLENGTH(BLOB_CONTENT)
    INTO v_mime,lob_loc,v_file_name,v_length
    FROM A_IMAGES
    WHERE IMAGE_ID = p_file;
    owa_util.mime_header( nvl(v_mime,'application/octet'),FALSE );
    -- set the size so the browser knows how much to download
    htp.p('Content-length: ' || v_length);
    -- the filename will be used by the browser if the users does a save as
    htp.p('Content-Disposition: attachment;
    filename="'||replace(replace(substr(v_file_name,instr(v_file_name,'/')+1)
    ,chr(10),null),chr(13),null)|| '"');
    -- close the headers
    owa_util.http_header_close;
    -- download the BLOB
    wpg_docload.download_file( Lob_loc );
    end download_my_file;
    thank's

  • Safari inserting  $0$0 $0 into text fields  - is there a setting to change?

    I'm doing web site edits in a CMS that uses Ajax (I think) pop up wysiwyg editor. when I submit my text, the line breaks are gone and replaced with " $0$0 $0 $0" (content in quotes only).
    This doesn't happen in Microsoft Internet Exploder(1) or Firefox. Suggestions?
    (1) Not a typo
    Thank you

    Juno's help page on this is a little confusing: [http://help.juno.com/support/webmail/u-s-forwarded.html Juno Email on the Web - Mails forwarded as an attachment].
    Juno doesn't mention any intentional difference between browsers, but some sites offer different editors to different browsers. This may be particularly true of older sites created using ActiveX controls, which are proprietary to IE. Or Juno might have stopped updating the site and it might not be able to handle two-digit version numbers for Firefox.
    It might be possible to test this hands on using a free account ([http://www.juno.com/freeemail]) but it would take me a few days.

  • Problem with ojdbc14.jar (oracle10g Rel. 2 driver) in updating a BLOB field

    Hello All,
    Our web application uses oracle10g Release 2 jdbc driver with websphere 5.1.1.4 and oracle 9i. When it tries to update a BLOB field in the database updation is successful but it is updating that field with a null value. So rest of our application fails as this value is becoming null. We use an entity bean to update this table and websphere uses a prepared statement to update this table. Just before setting this BLOB field using setBinaryStream() on prepared statement I am printing to see whether it is null or not as shown in the code snippet below. And it is printing it correctly as non null. But after execution of the prepared statement some how the value stored in database is null.
    Is this a known issue with this driver? Does any one know work around or a solution to this? We have 3 BLOB fields in that table. Is that a problem? If we separate these BLOB fields into separate tables will the problem be solved? Any input on this is very much appreciated.
    // For column ORIGINAL_CONTENT
    byte[] tempbyteArray;
    tempbyteArray=(byte[])inputRecord.get(25);
    if (tempbyteArray == null) {
    System.out.println("DqPageBeanFunctionSet_f9c724af: tempbyteArray NULLLLLLL");
    } else {
    System.out.println("DqPageBeanFunctionSet_f9c724af: orig tempbyteArray length: " + tempbyteArray.length);
    if(tempbyteArray != null) {
    pstmt.setBinaryStream(25,new java.io.ByteArrayInputStream(tempbyteArray),tempbyteArray.length);
    else pstmt.setNull(25,java.sql.Types.BLOB);
    Thanks & Regards,
    -Sunitha

    I have similar problem and I solved it using ojdbc14.jar oracle9i version.
    try...

  • Insert/update image in Database from C:\ drive, In BLOB Field using PL/SQL

    is Any Body have a experience of Image file Saving, updating and getting from Table, i want to save it in Database not in any Folder or Link, its Urgent! i want to insert image in Table having BLOB field from C:\test.jpg

    Try the following link, some useful material :-
    http://www-rohan.sdsu.edu/doc/oracle/server803/A50580_2/img_uses.htm

  • How to upload size 4k file to oracle BLOB field

    hi all, i'm using Oracle 9i, Orcale JDBC thin Driver and ibm websphere to develop a java application.i have used java EJB/CMP to insert images into BLOB field in oracle.
    i used byte[] mapping to BLOB.i did it successfully.
    however, i'm facing another problem. it is that
    when i insert files larger than 4k, there is exception error. it said that the inserted value is too large.
    is that the problem of orcale JDBC?
    is that any solution to solve this restriction?
    it is very urgent, pls help!
    thx a lot

    Hi Lee
    Thanks for ur valuable suggestions. Please give me
    more idea i would really thank to u !Which part is giving you troubles?
    Oh - and change my suggestion to use setBinaryStream to a suggestion to use setAsciiStream, as I missed the part where you said "text file".
    >
    Can anybody tell me anyother way how to solv thid
    problem
    Depending on the size of the text file you could just read the file so you have the contents as a String and use setString (also in the PreparedStatement interface).
    hanks
    Message was edited by:
    MerlinRosina

  • Error when reading BLOB field from Oracle usin Toplink

    We experience a very annoying problem when trying to read a BLOB
    field from Oracle 8.1.6.2.0 using TOPLink 3.6.3. I have attached the
    exception stack trace that is reported to the console. As far as I can
    judge a fault at oracle.sql.LobPlsqlUtil.plsql_length() happens first and
    then at TOPLink.Private.DatabaseAccess.DatabasePlatform.convertObject().
    The exception is permanently repeating that is very critical for us.
    ServerSession(929808)--Connection(5625701)--SELECT LOBBODY, ID, LABEL, FK_OBJECT_ID, FK_OBJECTTYPE FROM NOTE WHERE (ID = 80020)
    INTERNAL EXCEPTION STACK:
    java.lang.NullPointerException
    at oracle.sql.LobPlsqlUtil.plsql_length(LobPlsqlUtil.java:936)
    at oracle.sql.LobPlsqlUtil.plsql_length(LobPlsqlUtil.java:102)
    at oracle.jdbc.dbaccess.DBAccess.lobLength(DBAccess.java:709)
    at oracle.sql.LobDBAccessImpl.length(LobDBAccessImpl.java:58)
    at oracle.sql.BLOB.length(BLOB.java:71)
    at TOPLink.Private.Helper.ConversionManager.convertObjectToByteArray(ConversionManager.java:309)
    at TOPLink.Private.Helper.ConversionManager.convertObject(ConversionManager.java:166)
    at TOPLink.Private.DatabaseAccess.DatabasePlatform.convertObject(DatabasePlatform.java:594)
    at TOPLink.Public.Mappings.SerializedObjectMapping.getAttributeValue(SerializedObjectMapping.java:43)
    at TOPLink.Public.Mappings.DirectToFieldMapping.valueFromRow(DirectToFieldMapping.java:490)
    at TOPLink.Public.Mappings.DatabaseMapping.readFromRowIntoObject(DatabaseMapping.java:808)
    at TOPLink.Private.Descriptors.ObjectBuilder.buildAttributesIntoObject(ObjectBuilder.java:173)
    at TOPLink.Private.Descriptors.ObjectBuilder.buildObject(ObjectBuilder.java:325)
    at TOPLink.Private.Descriptors.ObjectBuilder.buildObjectsInto(ObjectBuilder.java:373)
    at TOPLink.Public.QueryFramework.ReadAllQuery.execute(ReadAllQuery.java:366)
    at TOPLink.Public.QueryFramework.DatabaseQuery.execute(DatabaseQuery.java:406)
    I have started the application with Oracle JDBC logging on and found that the problem may originate in a possible lack of syncronization in the pooled connection implementation:
    DRVR FUNC OracleConnection.isClosed() returned false
    DRVR OPER OracleConnection.close()
    DRVR FUNC OracleConnection.prepareCall(sql)
    DRVR DBG1 SQL: "begin ? := dbms_lob.getLength (?); end;"
    DRVR FUNC DBError.throwSqlException(errNum=73, obj=null)
    DRVR FUNC DBError.findMessage(errNum=73, obj=null)
    DRVR FUNC DBError.throwSqlException(reason="Logical handle no longer valid",
    SQLState=null, vendorCode=17073)
    DRVR OPER OracleConnection.close()
    so the prepareCall() is issued against an already closed connection and the
    call fails.
    I assume we have been using a JDBC 2.0 compliant driver. We tried out
    drivers that Oracle supplies for 8.1.6, 8.1.7 versions. To be true I
    couldn't find any information about the JDBC specification they conform to. Does it
    mean that these drivers may not be 100%-compatible with JDBC 2.0 Spec?
    How can I find out if they are 2.0 compliant?
    Also I have downloaded Oracle 9.2.0.1 JDBC drivers. This seemed to work
    fine until we found another incompatibility which made us return back to
    8.1.7 driver:
    UnitOfWork(7818028)--Connection(4434104)--INSERT INTO STATUSHISTORY (CHANGEDATE, FK_SET_STATUS_ID) VALUES ({ts '2002-10-17 16:46:54.529'}, 2)
    INTERNAL EXCEPTION STACK:
    java.sql.SQLException: ORA-00904: invalid column name
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
    at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289)
    at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:573)
    at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1891)
    at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:1093
    at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.jav
    a:2047)
    at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java
    :1940)
    at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatemen
    t.java:2709)
    at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePrepare
    dStatement.java:589)
    at TOPLink.Private.DatabaseAccess.DatabaseAccessor.executeDirectNoSelect(
    DatabaseAccessor.java:906)
    at TOPLink.Private.DatabaseAccess.DatabaseAccessor.executeNoSelect(Databa
    seAccessor.java:960)
    at TOPLink.Private.DatabaseAccess.DatabaseAccessor.executeCall(DatabaseAc
    cessor.java:819)
    at TOPLink.Public.PublicInterface.UnitOfWork.executeCall(UnitOfWork.java:

    Hello Yury,
    I believe the problem is that TopLink's ServerSession by default executes read queries concurrently on the same connection. It does this to reduce the number of required connections for the read connection pool. Normally this is a good concurrency optimization, however some JDBC drivers have issues when this is done. I had thought that with Oracle JDBC 8.1.7 this issue no longer occurred, but perhaps it is only after version 9. I believe that the errors were only with the thin JDBC driver, not the OCI, so using the OCI driver should also resolve the problem. Using RAW instead of BLOB would also work.
    You can configure TopLink to resolve this problem through using exclusive read connection pooling.
    Example:
    serverSession.useExclusiveReadConnectionPool(int minNumerOfConnections, int maxNumerOfConnections);
    This will ensure that TopLink does not to try to concurrently execute read queries on the same connection.
    I'm not exactly sure what your second problem with the 9.x JDBC drivers is. From the SQL and stack trace it would seem that the driver does not like the JDBC timestamp syntax. You can have TopLink print timestamp in Oracle's native SQL format to resolve this problem.
    Example:
    serverSessoin.getLogin().useNativeSQL();
    Make sure you configure your server session before you login, or if using the TopLink Session Manager perform the customizations through a SessionEventListener-preLogin event.

Maybe you are looking for

  • Https pdf links won't open in IE8

    https pdf links won't open in IE8 but do in Firefox.

  • Can't delete photos if keywords have been assigned

    I'm running into an annoying issue. Using iPhoto 09, version 8.1.2 on my MacBookPro. I have numerous photos that I want to get rid of (my camera will create both a lo res jpeg and a RAW file, and both are then imported into iPhoto. Keywords have been

  • Dell 1905FP external flatscreen.  Weird scrolling problem!

    I have a dell 1905fp 19in external monitor that I am using with my ibook g4. I have been using it for about 3 months now, but I consistently have the same problem with microsoft word. I open a word document and when I scroll up and down on my ibook m

  • Less video transition on premiere pro cc than premiere cs6

    hello, i noticed that there are less video transition on premiere pro cc than premiere cs6... what's the reason? is there any possibility to import video transition to the pro cc? many thanks, ofer

  • Long render time in FCP after using Handbrake

    After seeing a suggestion in these forums on converting non-copy written DVDs to usable files in FCP I downloaded Handbrake. It works fine but the render times seem to be extremely long. Is there any way to speed this up or perhaps any other programs