Long Raw - truncation

Hello,
We have a table called MSG_SEND in this table we have a long raw
column called MAB and we can't change the data type because it belongs to another vendor.
This column typically contains XML Data's.
We don't have rights to this table. But we have function granted which does the insertion (using prepared statement is ruled out). This works fine in Oracle but in java..
We sent the data through a java method callablestatement.setBytes() .In this approach.During insertion the data got truncated. In other words if the length of the byte is more than 2k bytes , only the first 2k bytes got inserted.
While trying to insert the Long Raw value using the function, we encountered the following exception.
java.sql.SQLException: ORA-01460: unimplemented or unreasonable conversion requested
at oracle.jdbc.dbaccess.DBError.throwSqlException(_DBError.java:134_)
at oracle.jdbc.oci8.OCIDBAccess.check_error(_OCIDBAccess.java:2321_)
at
oracle.jdbc.oci8.OCIDBAccess.parseExecuteDescribe(_OCIDBAccess.java:1255_)
at
oracle.jdbc.driver.OracleStatement.doExecuteQuery(_OracleStatement.java:2391_)
at
oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(_OracleStatement.java:2672_)
at
oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(_OraclePreparedStatement.java:589_)
at
oracle.jdbc.driver.OraclePreparedStatement.execute(_OraclePreparedStatement.java:656_)
at it.sella.cib.util.Test.main(_Test.java:83_)
Exception in thread "main"
Hope you guys must have solution for this.
Thanks in Advance.
Jaggy

The standard behaviour is implemented via the CSS3 text-overflow property, I don't think there is a simple CSS option that is widely supported by the browsers to truncate at the beginning (looks like it's only supported in FF 9).
text-overflow - CSS | MDN
.sapUiLblNowrap {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
Regards,
Jason

Similar Messages

  • I can not put the data of a field(LONG RAW) consulted into a item of a data block

    I want to query a field that is LONG RAW(it's a image) and put the data into a item of a data block (in Forms Builder), when i write ":BLOCK.FOTO:=vfoto" i recieve this errors: "bad bind variable ....". How can i put the data of field of my DB and put the data in a item of a data block(in Forms Builder)?.
    I can store a image in a table of my DB, but i want to query a image stored in my DB and put it into anothers table, all this on FORMS BUILDER.

    You have to base the image item on a base table and use EXECUTE_QUERY on that block. You can't do a direct select in PL/SQL into the item

  • Reading and Inserting Value in Long Raw

    Hi guys !!
    I have a table with 15 columns out of which RESUME column has data type long Raw. I want to copy this table to another table with selectd columns and validation. I want to check whether RESUME column is NULL. How to achieve it ?
    Similarly, using VB how to insert and retrieve values in such column ?
    thanx in advance
    Abhi

    do one thing ,
    Create a summary item for detail amount column, say m_tot_amt
    Set its fol. properties
    Calculation Mode : Summary
    Summary : Sum
    Summ.Blk : Your detail blk
    Summ. Item : Your detail amount item
    Also, Set Query all records of your detail block as Yes
    Then In PRE-INSERT/ PRE_UPDATE of detail block, write
    :COP_ORDER_HEADER.DISCOUNT_AMOUNT := nvl(:m_tot_amt,0) ;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • How can i read a stored picture in oracle Long Raw datatype? blob or clob?

    How can i read a stored picture in oracle Long Raw datatype? Like a blob or clob?....i am using jdk 1.3
    This is because...i tried to read it like a blob but i obtain a exception...about Type of column no valid......but the column exist....and it contains the long raw datatype of the pictures.....this is my code:
    import java.sql.*;
    import java.io.*;
    import java.util.*;
    import oracle.jdbc.driver.*;
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import java.io.InputStream;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.OutputStream;
    import java.sql.Connection;
    import java.sql.Statement;
    import java.sql.ResultSet;
    import java.sql.DriverManager;
    import oracle.sql.BLOB;
    import oracle.sql.BLOB.*;
    import oracle.jdbc.driver.*;
    import java.sql.*;
    class rec_ima1
    public static void main(String h[])
    Connection con = null;
    Blob bl;
    final ImageIcon image1;
    JPanel photo;
    try
    Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
    con= DriverManager.getConnection("jdbc:oracle:thin:@123.3.12.213:1521:db_name","user","password");
    String query = "Select * from pictures where ID = '18840'";
    Statement stmt = con.createStatement();
    ResultSet rs = stmt.executeQuery( query );
    if (!rs.next())
    System.out.println("Empty Result Set");
    bl = rs.getBlob(5);
    if (bl == null) {
    System.out.println("Null Blob");
    return;
    InputStream is = bl.getBinaryStream();
    int imageLength = (int) bl.length();
    System.out.println(imageLength);
    System.out.println(bl.length());
    byte[] imageData = new byte [imageLength];
    is.read(imageData, 0, imageLength);
    image1 = new ImageIcon(imageData);
    photo = new JPanel() {
    public void paint(Graphics g){
    g.setColor(Color.lightGray);
    g.drawImage(image1.getImage(), 0, 0, this);
    } catch (Exception e) {
    e.printStackTrace();
    Now i tried using clob:
    import java.sql.*;
    import java.io.*;
    import java.util.*;
    import oracle.jdbc.driver.*;
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import java.io.InputStream;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.OutputStream;
    import java.sql.Connection;
    import java.sql.Statement;
    import java.sql.ResultSet;
    import java.sql.DriverManager;
    import oracle.sql.CLOB;
    import oracle.sql.CLOB.*;
    import oracle.jdbc.driver.*;
    import java.sql.CallableStatement;
    class rec_ima4
    public static void main(String h[])
    Connection con = null;
    Clob cl;
    JPanel photo;
    try
    Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
    con= DriverManager.getConnection("jdbc:oracle:thin:@123.3.12.213:1521:db_name","user","password");
    con.setAutoCommit (false);
    String query = "Select * from pictures where ID = '18840'";
    Statement stmt = con.createStatement();
    ResultSet rs = stmt.executeQuery( query );
    while (rs.next()) {
    oracle.sql.CLOB clob = (CLOB) rs.getObject(5); //line 47
    } catch (Exception e) {
    e.printStackTrace();
    This is the runtime exception:
    java.lang.ClassCastException: [B
    at rec_ima4.main(rec_ima4.java:47)

    Thanks by answering to me......
    Well....i did that....but what is ImageIO?....
    I declared a ImageIcon imageIO, but this give me the following:
    rec_ima3.java:49: cannot resolve symbol
    symbol : class BufferedImage
    location: class rec_ima3
    BufferedImage bi = ImageIO.read(bInput);
    ^
    rec_ima3.java:49: cannot resolve symbol
    symbol : variable ImageIO
    location: class rec_ima3
    BufferedImage bi = ImageIO.read(bInput);
    ^
    What classes i have to import?.....what is ImageIO?
    Thanks

  • How to read LONG RAW data from one  table and insert into another table

    Hello EVERYBODY
    I have a table called sound with the following attributes. in the music attribute i have stored some messages in the different language like hindi, english etc. i want to concatinate all hindi messages and store in the another table with only one attribute of type LONG RAW.and this attribute is attached with the sound item.
    when i click the play button of sound item the all the messages recorded in hindi will play one by one automatically. for that i'm doing the following.
    i have written the following when button pressed trigger which will concatinate all the messages of any selected language from the sound table, and store in another table called temp.
    and then sound will be played from the temp table.
    declare
         tmp sound.music%type;
         temp1 sound.music%type;
         item_id ITEM;
    cursor c1
    is select music
    from sound
    where lang=:LIST10;
    begin
         open c1;
         loop
              fetch c1 into tmp; //THIS LINE GENERATES THE ERROR
              temp1:=temp1||tmp;
              exit when c1%notfound;
         end loop;
    CLOSE C1;
    insert into temp values(temp1);
    item_id:=Find_Item('Music');
    go_item('music');
    play_sound(item_id);
    end;
    but when i'm clicking the button it generates the following error.
    WHEN-BUTTON-PRESSED TRIGGER RAISED UNHANDLED EXCEPTION ORA-06502.
    ORA-06502: PL/SQL: numeric or value error
    SQL> desc sound;
    Name Null? Type
    SL_NO NUMBER(2)
    MUSIC LONG RAW
    LANG CHAR(10)
    IF MY PROCESS TO SOLVE THE ABOVE PROBLEM IS OK THEN PLESE TELL ME THE SOLUTION FOR THE ERROR. OTHER WISE PLEASE SUGGEST ME,IF ANY OTHER WAY IS THERE TO SOLVE THE ABOVE PROBLEM.
    THANKS IN ADVANCE.
    D. Prasad

    You can achieve this in many different ways, one is
    1. Create another VO based on the EO which is based on the dest table.
    2. At save, copy the contents of the source VO into the dest VO (see copy routine in dev guide).
    3. commiting the transaction will push the data into the dest table on which the dest VO is based.
    I understand that if we attach VO object instance to region/page, we only can pull and put data in to only one table.
    if by table you mean a DB table, then no, you can have a VO based on multiple EOs which will do DMLs accordingly.Thanks
    Tapash

  • ORA-06502 trying to load a long raw into a variable.

    Hi. In my table "banco_imagem" the bim_src column is a long raw type.
    I´m using oracle forms 6 (not 6i), so I can´t use blob type to save my images.
    Now I´m trying to load the long raw column into a variable in a package that runs on 10g.
    I´m trying to execute de folowing code at sql plus:
    declare
    wbim   long raw;
    begin
    select bim_src into wbim from banco_imagem where rownum=1;
    end;
    The column is not null. It has a value.
    I got the folowing error:
    ORA-06502: PL/SQL: numeric or value error
    ORA-06512: at line 4
    My goal is to load this column to convert it to blob so I can manipulate with my others (already running) functions.
    Can anyone help me?
    Thanks!

    Hi Mcardia,
    not sure where you're going wrong, but perhaps if you compare what you've done up to now to the following code snippet, you may figure it out eventually!
    SQL> drop table test_raw
      2  /
    Table dropped.
    SQL>
    SQL> create table test_raw (col_a long raw, col_b blob)
      2  /
    Table created.
    SQL> set serveroutput on
    SQL> declare
      2 
      3    l1 long raw;
      4    l2 long raw;
      5   
      6    b1 blob;
      7   
      8  begin
      9 
    10    l1:= utl_raw.cast_to_raw('This is a test');
    11   
    12    insert into test_raw (col_a) values (l1);
    13 
    14       
    15    select col_a
    16    into   l2
    17    from    test_raw
    18    where   rownum < 2;
    19   
    20    dbms_lob.createtemporary (b1, false);
    21   
    22    dbms_output.put_line(utl_raw.cast_to_varchar2(l2));
    23    b1 := l2;
    24 
    25    update  test_raw set col_b = b1;
    26   
    27    commit;
    28   
    29    dbms_output.put_line('Done ');
    30   
    31    exception
    32      when others then
    33        dbms_output.put_line('Error ' || sqlerrm);
    34  end;
    35  /
    This is a test
    Done
    PL/SQL procedure successfully completed.Bear in mind that I'm running on the following:
    BANNER
    Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi
    PL/SQL Release 10.2.0.4.0 - Production
    CORE 10.2.0.4.0 Production
    TNS for Solaris: Version 10.2.0.4.0 - Production
    NLSRTL Version 10.2.0.4.0 - Production

  • Issue with Oracle LONG RAW data type

    Hi All,
    I am facing some issues with Oracle LONG RAW DATA Type.
    We are using Oracle 9IR2 Database.
    I got a table having LONG RAW column and I need to transfer the same into another table having LONG RAW column.
    When I tried using INSERT INTO SELECT * command (or) CREATE TABLE as select * , it is throwing ORA-00997: illegal use of LONG datatype.
    I have gone through some docs and found we should not use LONG RAW using these operations.
    So I did some basic PLSQL block given below and I was able to insert most of the records. But records where the LONG RAW file is like 7O kb, the inserting is faliling.
    I tried to convert LONG RAW to BLOB and again for the record where the LONG RAW is big in size I am getting (ORA-06502: PL/SQL: numeric or value error) error.
    Appreciate if anyone can help me out here.
    DECLARE
    Y LONG RAW;
    BEGIN
    FOR REC IN (SELECT * FROM TRU_INT.TERRITORY WHERE TERRITORYSEQ=488480 ORDER BY TERRITORYSEQ ) LOOP
    INSERT INTO TRU_CMP.TERRITORY
    BUSINESSUNITSEQ, COMPELEMENTLIFETIMEID, COMPONENTIMAGE, DESCRIPTION, ENDPERIOD, GENERATION, NAME, STARTPERIOD, TERRITORYSEQ
    VALUES
    REC.BUSINESSUNITSEQ, REC.COMPELEMENTLIFETIMEID, REC.COMPONENTIMAGE, REC.DESCRIPTION, REC.ENDPERIOD, REC.GENERATION, REC.NAME,
    REC.STARTPERIOD, REC.TERRITORYSEQ
    END LOOP;
    END;
    /

    Maddy wrote:
    Hi All,
    I am facing some issues with Oracle LONG RAW DATA Type.
    We are using Oracle 9IR2 Database.
    I got a table having LONG RAW column and I need to transfer the same into another table having LONG RAW column.
    When I tried using INSERT INTO SELECT * command (or) CREATE TABLE as select * , it is throwing ORA-00997: illegal use of LONG datatype.
    I have gone through some docs and found we should not use LONG RAW using these operations.
    So I did some basic PLSQL block given below and I was able to insert most of the records. But records where the LONG RAW file is like 7O kb, the inserting is faliling.
    I tried to convert LONG RAW to BLOB and again for the record where the LONG RAW is big in size I am getting (ORA-06502: PL/SQL: numeric or value error) error.
    Appreciate if anyone can help me out here.
    DECLARE
    Y LONG RAW;
    BEGIN
    FOR REC IN (SELECT * FROM TRU_INT.TERRITORY WHERE TERRITORYSEQ=488480 ORDER BY TERRITORYSEQ ) LOOP
    INSERT INTO TRU_CMP.TERRITORY
    BUSINESSUNITSEQ, COMPELEMENTLIFETIMEID, COMPONENTIMAGE, DESCRIPTION, ENDPERIOD, GENERATION, NAME, STARTPERIOD, TERRITORYSEQ
    VALUES
    REC.BUSINESSUNITSEQ, REC.COMPELEMENTLIFETIMEID, REC.COMPONENTIMAGE, REC.DESCRIPTION, REC.ENDPERIOD, REC.GENERATION, REC.NAME,
    REC.STARTPERIOD, REC.TERRITORYSEQ
    END LOOP;
    END;
    /below might work
    12:06:23 SQL> help copy
    COPY
    Copies data from a query to a table in the same or another
    database. COPY supports CHAR, DATE, LONG, NUMBER and VARCHAR2.
    COPY {FROM database | TO database | FROM database TO database}
                {APPEND|CREATE|INSERT|REPLACE} destination_table
                [(column, column, column, ...)] USING query
    where database has the following syntax:
         username[/password]@connect_identifier

  • Processing LONG RAW in the trigger

    I'm currently using Oracle 7.3.4.x. I'd like to perform in the
    update trigger of LONG RAW column the copy of that value to
    another table. Since the :new and :old is prohibited in triggers
    and you cannot defined variables as LONG RAW data type in the
    trigger I couldn't work out any solution to this problem.
    Any one get any idea how to do that?
    Thanks,
    Mariusz.

    Hi!
    You will not be able to do "select * from ..." from a table with a LONG column. However you will be able to do a select successfully by using the individual column name(s). The other thing is, in order to see the full content of the LONG column you will have to do do "set long nnnnn" where nnnnn represents the maxumum length of the values in the LONG column.
    Hope that helps.
    null

  • ORA-22835: buffer too small when trying to save pdf file in LONG RAW column

    Hi,
    I get "ORA-22835: Buffer too small for CLOB to CHAR or BLOB to RAW conversion (real : 125695, maximum : 2000)" when i trying to save a 120k pdf file in an Oracle Long Raw column using dotnet 4.0 and Entity FrameWork.
    Dim db As New OracleEntities
    Try
    Dim myEntity = (From e In db.TEXTE _
    Where e.TEXT_ID = txtTextId.Text _
    Select e).Single
    With myEntity
    If txtTextypeId.Text <> "" Then
    .TEXTYPE_ID = txtTextypeId.Text
    Else
    .TEXTYPE_ID = Nothing
    End If
    .TEXT_NUM = txtTextNum.Text
    .TEXT_NAME = txtTextName.Text
    .TEXT_DATE = dtTextDate.SelectedDate
    If DocAdded Then
    .TEXT_DOC = Document
    ElseIf DocDeleted Then
    .TEXT_DOC = Nothing
    End If
    End With
    db.SaveChanges()
    Document is an array of Byte and TEXT_DOC also (mapped to a long row column).
    is it possible to increase the size of the buffer ? how may i do it ?
    Thx in advance.
    Regards.

    Using a custom UPDATE or INSERT stored procedure for LONG RAW column with
    exceed-limit data may still get the following error.
    "ORA-01460: unimplemented or unreasonable conversion requested".
    One option is to use BLOB instead of LONG RAW in your table and regenerate your
    data model from the table. Then using the default UPDATE or INSERT statement
    (created by EF) should work.
    The following will modify your LONG RAW column to BLOB column.
    Disclaimers:
    1. It's irreversible--you cannot modify BLOB back to LONG RAW.
    2. I have not tried that when there are huge data in LONG RAW column.
    So be careful.
    alter table <your_table_name> modify <your_long_raw_type_column> blob;

  • Can we use BLOB instead of LONG RAW in JMSStore

    (Oracle 9i, Weblogic 8.1.2)
              We are putting in place a Dataguard environment (or standby database). In such environment, prod data is copied to another database in 'pseudo' real time. Unfortunately some 'old' datatypes are not supported by Dataguard. In JMS tables %JMSSTORE, the field RECORD is defined as LONG RAW and LONG RAW is one of the unsupported datatypes.
              Can we alter those tables in order to use BLOB instead of LONG RAW ?
              Regards,
              Bao Nguyen
              

    Hi Bao,
              Answers in-line:
              Bao Nguyen wrote:
              > (Oracle 9i, Weblogic 8.1.2)
              >
              > We are putting in place a Dataguard environment (or standby database). In such environment, prod data is copied to another database in 'pseudo' real time. Unfortunately some 'old' datatypes are not supported by Dataguard. In JMS tables %JMSSTORE, the field RECORD is defined as LONG RAW and LONG RAW is one of the unsupported datatypes.
              >
              > Can we alter those tables in order to use BLOB instead of LONG RAW ?
              Not supported in 8.1. A supported Oracle BLOB capability will be
              available in the next release. I can think of two
              possible work-arounds:
              (1) The following might work, but is not currently supported by
              BEA: Manually create the table with a BLOB type and use
              an Oracle OCI or BEA type IV driver. Definitely do NOT use
              an Oracle thin driver, as data corruption may result.
              (2) I recall that another customer had a replication product
              they were able to get working with LONG RAW by modifying
              the table definition so that the table's handle index was a primary key.
              I do not remember the name of the product.
              (The latter modification is supported for certain releases
              now - but I think this usage must be confirmed with customer support.)
              Tom
              >
              > Regards,
              >
              > Bao Nguyen
              >
              

  • How to view contents in Long Raw datatype column

    Hi,
    We have two node RAC database with 10.2.0.4.0 version.
    OS - IBM AIX.
    We have a table with a column with datatype "LONG RAW" in production. It stores image files.
    We need to send the images from few rows to third party vendor. Basically, they need to view the images.
    Earlier, I have exported to dump file using datapump and sent to vendor. but vendor is telling that they are not able to view the images. Can you please suggest best method to transfer the images (LONG RAW datatype) and the method to view them.

    We have a table with a column with datatype "LONG RAW" in production. It stores image files.
    We need to send the images from few rows to third party vendor. Basically, they need to view the images.
    Earlier, I have exported to dump file using datapump and sent to vendor. but vendor is telling that they are not able to view the images. Can you please suggest best method to transfer the images (LONG RAW datatype) and the method to view them.How is the vendor trying to use the extracted images? Data exported with datapump must be imported into another database with datapump. The same applies to the exp utility (must use imp to load into a database).
    If you're careful you should be able to write a binary file using utl_file.
    Regarding the long raw, is there any way you could convert to BLOBS? Longs and Long raws are notoriously hard to work with

  • How to insert data from file into long raw field using utl_file?

    I try to insert binary data from a file (under AIX 4.3.3) into a LONG
    RAW field (Oracle 8.1.6).
    First, I retrieve the data from the file like this:
    DECLARE
    FileHandle = UTL_FILE.FILE_TYPE;
    myVariable LONG RAW;
    FileHandle := UTL_FILE.FOPEN ;('prj/oracle/admin/MARTIJN/udump',
    'MyFile.ATT', 'R');
    UTL_FILE.GET_LINE (FileHandle, myVariable);
    UTL_FILE.FCLOSE(FileHandle);
    INSERT INTO myTable(DUMMYFIELD) VALUES(myVariable);
    Where DUMMYFIELD of table myTable is of type LONG RAW.
    The GET_LINE statement crashes on Oracle Error ORA-6502: Numeric of
    Value error: hex to raw conversion error.
    What do I do wrong?
    Do I use the right method to retrieve information from a file and put
    it into a long raw field, should I try it another way?
    Any help greatly appreciated,
    Martijn Rutte

    Zarina,
    To clarify your problem, you have a script node contaning your Matlab code. Are you then using the standard LV functions to load in your data from a file and pass it into the script node?
    Regards
    Tristan

  • Long Raw Column

    Hi Everybody,
    I am using Oracle 9i ver 9.1 & Developer 6. My requirement is to store documents in the database. For that I have created a Long RAW column in the table where I have to store that. On forms I have made an OLE Container whose OLE Class property is set to "Word.Document.8". When I run the form, everyting goes fine. I insert the record, with word documents, it saves. I cleared the form & when I query it gets back the document, ie I can open it by double clicking it. But, once I exit the screen, run it again & try to query, it fetches all other columns except the OLE container value. I mean when I query it after exiting once & running the screen again, it does not fetch that OLE container base table items value, which it displays if I query it, without exiting, ie, the time when I inserted the document in OLE container, saved it & cleared the screen.
    Anyone having a work around pls, reply.
    Thanks in Advance.
    [email protected]

    Hi,
    Yes the data is getting saved. As, when i clear the screen & then query again it displays the data. At SQL promp, when i qureied the table, it displays on a single "D" as the column values for all the rows, whether I had inserted any value for that row or not. I mean it was displaying "D" in all the rows, though, I have not inserted value in all rows in the Long Raw Column.
    Rgds,
    [email protected]

  • Modify long raw to blob column

    Hello,
    I would like to know if it is possible to modify a long raw column into a blob column, without having to drop and recreate my table.
    There is already data inserted in the long raw column.
    Thanks in advance,
    Cindy

    'Fraid not.
    A LOB is stored "out-of-line", which means the actual "raw" data is held separately from the table. A long raw stores the data in-line. This means that you'll have to write some code to extract the "raw" data and write it to the LOB. Methinks you won't be able to add a LOB-type column to the table if you have a long raw existing in it already.

  • Problem in converting Long Raw to Varchar2

    Hi
    I need to analyze the contents of a 'Long Raw ' field to proceed further. In an attempt to do that, using the following code, I could not see the data in a readable format.Kindly Help...
    create or replace procedure lr2vc1 (lv_id number) is
    c1 long raw;
    note_varchar2 varchar2(32000);
    begin
    select value into c1 from Test_table where id=lv_id; /*value is the Long Raw field*/
    note_varchar2 := utl_raw.cast_to_varchar2(c1);
    insert into lr2vc (prid,lrvalue) values (lv_id, note_varchar2);
    commit;
    --dbms_output.put_line(c1);
    end;
    Thanks
    Sandeep

    Whats wrong with the answer given here?:
    <br>
    Problem while converting Long Raw data to Varchar2

Maybe you are looking for