ORA-01461: can bind to a value of type LONG only to insert them into a column error

Oracle 11g R1 RHEL 5 64-bit (Apex 3.1)

Hi all

I will have a hard time with this error:

ORA-01461: can bind to a LONG value only for insert into a LONG column
ORA-06512: at "FPRCHR. PKG_TRIGGER_EMAIL', line 39
ORA-06512: at "ISWRNEW. PKG_NOTIFICATION', line 310
ORA-06512: at "ISWRNEW. PKG_NOTIFICATION', line 1745
ORA-06512: at line 1

The FPRCHR. PKG_TRIGGER_EMAIL is as follows:

...
INSERT INTO fprchr.trigger_email
(trigger_email_rid,
email_to,
email_from,
email_body,
objet_message_electronique,
email_cc,
email_bcc,
mime_type,
email_priority
)
VALUES (l_job,
p_recipients,
p_sender,
p_message,
p_subject,
p_cc,
p_bcc,
p_mime_type,
p_priority
);
run immediately 'alter session set events 'name context 10046 trace off'. "
Send END;
...


It seems that the characters have exceeded the capable of handling VARCHAR2 limit? What other data type can change the table of fprchr.trigger_email to? Is that all that is needed?

Thank you.

It seems that the characters have exceeded the capable of handling VARCHAR2 limit? What other data type can change the table of fprchr.trigger_email to? Is that all that is needed?

Have you tried with the clob data type?

Kind regards.

LOULOU

Tags: Database

Similar Questions

  • APex 4.1 error ORA-01461: can bind to a value of type LONG only to insert them into a LONG

    Hello

    Faced with a strange question.

    I have a regular cursor, and in this loop of cursor, I have a select statement in some variables based on cursor settings.

    I was getting the "ORA-01461: can bind to a LONG value only for insert into a LONG column" error so I started the individual verification of each of the columns. Now, it works fine for some columns, but the moment I add this numeric field. He began to throw this error. Now, the source of the database where the selection is triggered is of type number, the variable in which I select is number.

    Infact, I have not any column defined anywhere.

    The strange thing is that the block is running perfectly fine in SQl developer. So, looks like a specific problem of the Apex.

    I'm in 4.1 / 11g

    Any ideas?

    Thank you
    Sun

    I'm NOT aware of documentation showing HOW the APEX team have built APEX (database design wise), but this met enough to collect that they use with a near limit of the VARCHAR2 VARCHAR2 columns size limit...

    I'm NOT aware of a limit on the size of the service procedure in the database.

    The code that you add to a form or report is stored in tables oracle APEX uses its called metadata (data about data)... So it would make sense that there are limits to how much can be stored in the form elements when developing... Try this, on a form region, go to the comment section and try to add a ton of comments or lines of text and save... You will hit a point where long error will happen (I'm now hitting, trying to replace sql selects for reports in an application, old registration code in case of questions, can not post in the comments field..)

    I believe in a dynamic action, you can have the run of the pl/sql code, so if you have a procedure called RunMyCode you could do that

      begin
    
       RunMyCode(:P1_AL,:P1_B);
    
      end;
    

    Where you large PL/SQL block could be stored...

    Thank you

    Tony Miller
    Dallas, TX

  • ORA-01461: can bind to a LONG value only for insert into a LONG column of dynamic Action

    I try to apply the condition to display items in a table with the following error code.its dynamic action when him save the day.

    event: click on

    Selection type: button

    name of the button: P23_ADD_MORE_ROW

    condition: no strings attached

    //P23_NAME_BY_CAT,P23_HOW_MANY as LOV  in apex form
    var l_no_rows;
    l_no_rows = apex.item("P23_HOW_MANY").getValue();
    for (var i=0; i<l_no_rows; i++){
      apex.widget.tabular.addRow();
    
    if  ($v("P23_NAME_BY_CAT")==1) {
    $("#WORK_QTY").show();
    $('td[headers=WORK_QTY]').show();
    $("#WORK_LOCTION").hide();
    $('td[headers=WORK_LOCTION]').hide();
    $("#MY_LOCTION").hide();
    $('td[headers=MY_LOCTION]').hide();
    //with morethan 25+ entry
    }
    else if ($v("P23_NAME_BY_CAT")==2) {
    $("#WORK_QTY").hide();
    $('td[headers=WORK_QTY]').hide();
    
    $("#WORK_LOCTION").show();
    $('td[headers=WORK_LOCTION]').show();
    
    $("#MY_LOCTION").hide();
    $('td[headers=MY_LOCTION]').hide();
    //with morethan 25+ entry
    }
    else if ($v("P23_NAME_BY_CAT")==2) {
    $("#WORK_QTY").hide();
    $('td[headers=WORK_QTY]').hide();
    $("#WORK_LOCTION").hide();
    $('td[headers=WORK_LOCTION]').hide();
    
    $("#MY_LOCTION").show();
    $('td[headers=MY_LOCTION]').show();
    //with morethan 25+ entry
    }
    else {
    alert("no  count");
    }
    };
    
    

    dynamic action above can ignite if you level column, it means when I choose LOV value so that specified columns will show only rest in a column will be hidden. up to 10 input works fine.

    Hi Ramani_apex,

    Is the action of javascript executed in the dynamic action of the code you posted above or more code?

    You seem to have exceeded a 4000 or 32 K bytes on a column of metadata for dynamic action when you set the dynamic action.

    function f_mybuttonAction () {
    //P23_NAME_BY_CAT,P23_HOW_MANY as LOV  in apex form
    var l_no_rows;
    l_no_rows = apex.item("P23_HOW_MANY").getValue();
    for (var i=0; i
    
    • Call the action javascript function run the dynamic action javascript code:
    //mybutton action
    f_mybuttonAction();
    

    Reference:

    I hope this helps!

    Kind regards

    Kiran

  • ORA - 01461:can bind a LONG value only for insert in a LONG column. After upgrade to 11g

    After update, oracle 11g, we get the system error when you try to insert the text string in the NCLOB type column.

    ORA - 01461:can bind a LONG value only for insert in a LONG column.

    This has not happened on an earlier version of Oracle.

    I did some testing and found that, if a string more then 2000 we get this error.

    How to solve this problem?

    Thank you

    I found a solution. I had to update ODP.NET to 2.112.1.0 version.

  • A weird exception in 12 c (ORA-01461: can bind to a LONG value only for insert into a LONG column)

    I have a Windows application that accesses a database of 12 c Oracle via ODBC (driver version is 12.01.00.01).

    I have a table with a column of key named REGION_ID (NVARCHAR2 (9)) and a dozen other columns, of which three are named region1 and region.2 elle3, all of type NVARCHAR2 (40).

    When I try to insert a string in the scope of the region1 is longer than 9 characters (length of REGION_ID), I get an error ORA-01461 (' can bind to a LONG value only for insert into a LONG column). If I set the length of REGION_ID be NVARCHAR2 (15), so I can add channels to the region1 in length up to 15 field until I get ORA-01461 exception again. Curiously, if I change the name of column region1 to REGIONONE, I don't get any errors, and everything works fine. It's almost as if the column name region1 is being confused with REGION_ID backstage.

    Any ideas? I am using SQLBindParameter to bind the columns, and all calls are successful. I get the exception when I run the insert statement. This same code worked for previous versions of Oracle (9i, 10g and 11g). And if I use a driver of client 11g against the 12 c server, I do not receive the exception.

    Thank you!

    It is a component of ODBC driver bug in 12 c and it is fixed. You can download and install the fix for bug 18232462 or the last window for 12 c patch cumulative/bundle.

    Thank you

    Spengler

  • ORA-01461: can bind to a LONG value only for insert into a LONG column

    Hello

    Oracle XE on RHE dedicated server
    create table cvDetails(
    cd_id number(14) primary key,
    cv_id number(14) constraint education_fk references CvProperties(cv_id),
    nationality varchar2(230),
    objectives varchar2(3900),
    name varchar2(230),
    fatherName varchar2(230),
    motherName varchar2(230),
    dob varchar2(230),
    gender varchar2(230),
    mStatus varchar2(230),
    passportNo varchar2(110),
    email varchar2(230),
    phone varchar2(45),
    mobile varchar2(25),
    address varchar2(2500),
    state varchar2(230),
    zipCode varchar2(230),
    city varchar2(230),
    education clob,
    experience clob,
    skills clob,
    languages varchar2(1400),
    hobbies varchar2(3200),
    achievements varchar2(3900),
    references varchar2(3900)
    );
    
    create sequence cvDetails_seq
    start with 1 increment by 1;
    
    create or replace trigger cvDetails_trig
    before insert on cvDetails
    referencing new as new
    for each row
    begin 
    select cvDetails_seq.nextval into :new.cd_id from dual;
    end;
    /
    Why do I get the error of subject?

    Thank you in anticipation

    >
    in any case, I checked manually according to your instructions and found that this objective column is of character input more than specified.
    >
    Glad you found the problem, but I hope that you learned a lesson that is time consuming.

    It must be remembered that we have no access to your environment. If we do not know which servers, clients, tables and users that you use.
    It may seem simple to you but doesn't realize that you provide us with two slightly different versions of the cvDetails table.

    The original post had this
    >
    objectives varchar2 (3900).
    >
    But when you have provided your 'cvDetails desc' journal text has
    >
    OBJECTIVES VARCHAR2 (3950)
    >
    It is the same table that you started with how the column suddenly grow 50 bytes?
    This means that you did from different parts of the present in the two schemas or on two servers or you change the table between the two.

    You can't address properly when you do this. By chance it is the column that you said is now the problem.
    In SQL, the maximum length of a VARCHAR2 is 4000 bytes; no characters but bytes. Nothing more than 4000 bytes would probably be a LONG in the generic sense.

    If your error
    >
    Re: ORA-01461: can bind to a LONG value only for insert into a LONG column
    >
    means that you try to 'bind a LONG value' to a column VARCHAR2 and you can't you can 'bind a LONG value only for insert in a LONG column.

    In the proper context, the error makes sense.

    You probably have a problem with

     ps.setString(2,  objectives);
    

    because the 'objectives' has a length of more than 4000 bytes.

    Remember this answer from you?
    >
    I have read and found that there may be a problem with the driver JDBC or Characterset. Am I wrong?
    >
    The 'Hello' ASCII string is five characters and five bytes because the ASCII code is a set of characters in a single byte. The same string internally in Java is five characters but ten bytes because Java uses UTF16.

    So, if the character set of the data itself is double-byte character set then anything more than 2000 characters (4000 bytes) is a "LONG". And if your column is defined as VARCHAR2 (3950), which means bytes a doublel-byte character set which are characters of 1975.

    Then you said in a response later
    >
    I checked by the SNA Server and oracle that are both of the same but new thing I found is that oracle does not allow more than one clob column in a table. Is this true?
    >
    Somehow a hypothesis has crept it that the problem was not a driver JDBC or Charaterset, but because you can not have more than one clob column in a table.

    You could have easily tested for yourself by doing what P. Forstmann - tried to create a table and see.

    Then you completely ignored my advice
    >
    I suggest to you isolate the columns actually causing the problem.
    Change your code to insert only a few columns. When it works, add more than a few columns.
    This will then tell you which column or the columns are at the origin of the problem.
    Display the results once you determine a column that causes the error.
    >
    When you have finally made the simplest things, you have found what was causing the problem almost immediately.

    Many times you don't need 'experts' - you must use a rigorous, methodical, process step by step.

    ALWAYS, ALWAYS, ALWAYS reduce the simplest possible code example that illustrates the problem.
    If you had followed this a rule would have probably found you the problem and makes you look like the 'expert '.

    There are no shortcuts.

  • Value of type long error

    I get the following error when the runing an interface.
    ORA-01461: can bind to a LONG value only for insert into a LONG column
    But there is no column with the data type long.
    What could be the error?

    Do you know what area or that is causing the problem? If this isn't the case, that is where I would start in this debugging. ODI attempts to insert a value of Oracle DB believes is a data type long - you'll need to understand what is the cause in order to repair.

  • Remove all lines and insert them into Oracle can make performance worse?

    I m working in a project that I need to make a batch update regularly (every 4 months) of excel files. These files have doesn´t excellent key in their ranks.

    The development of a code that deletes all lines and inserts the entire base again is easier than one who checks in all the ranks of its primary key and if necessary update. (sometimes may be a key to 5 columns).

    My question is: if I delete all the rows in the tables of the insert it again, it will cause tablespace fragmentation and in a future loss of performance?

    Is there a way to avoid this?

    Thanks in advance

    Alexander

    This response helped me a lot.

    Thank you all

    Remove all lines and insert them into Oracle can make performance worse? -Stack overflow

  • divide a column value and insert it into several columns

    Hello
    am new to plsql.
    I want to divide a characters in a column and insert into multiple columns

    I tried the function substr used the symbol ',' vary its place dynamically, so I can't apply the substr function.


    for example: before split
    col1:
    col2:
    COL3:
    COL4:
    colu5: adsdf, fgrty, erfth, oiunth, okujt



    after separation

    col1: adsd
    col2: fgrty
    COL3: erfth
    COL4: oiunth
    col5: adsdf, fgrty, erfth, oiunth, okujt



    can someone help me

    Thank you

    Published by: 800324 on December 23, 2010 08:28

    Published by: 800324 on December 23, 2010 08:36

    What:

    SQL> create table t
      2  (col1 varchar2(30)
      3  ,col2 varchar2(30)
      4  ,col3 varchar2(30)
      5  ,col4 varchar2(30)
      6  ,col5 varchar2(30)
      7  );
    
    Table created.
    
    SQL> insert into t (col5) values ('adsdf,fgrty,erfth,oiunth,okujt');
    
    1 row created.
    
    SQL> insert into t (col5) values ('x,y');
    
    1 row created.
    
    SQL> insert into t (col5) values ('a,b,c,d');
    
    1 row created.
    
    SQL> select * from t;
    
    COL1                           COL2                           COL3                           COL4                           COL5
    ------------------------------ ------------------------------ ------------------------------ ------------------------------ ------------------------------
                                                                                                                                adsdf,fgrty,erfth,oiunth,okujt
                                                                                                                                x,y
                                                                                                                                a,b,c,d
    
    3 rows selected.
    
    SQL>
    SQL> merge into t a
      2  using ( with t1 as ( select col5||',' col5
      3                       from   t
      4                     )
      5          select substr(col5, 1, instr(col5, ',', 1, 1)-1) col1
      6          ,      substr(col5, instr(col5, ',', 1, 1)+1, instr(col5, ',', 1, 2)- instr(col5, ',', 1, 1)-1) col2
      7          ,      substr(col5, instr(col5, ',', 1, 2)+1, instr(col5, ',', 1, 3)- instr(col5, ',', 1, 2)-1) col3
      8          ,      substr(col5, instr(col5, ',', 1, 3)+1, instr(col5, ',', 1, 4)- instr(col5, ',', 1, 3)-1) col4
      9          ,      rtrim(col5, ',') col5
     10          from   t1
     11        ) b
     12  on ( a.col5 = b.col5 )
     13  when matched then update set a.col1 = b.col1
     14                             , a.col2 = b.col2
     15                             , a.col3 = b.col3
     16                             , a.col4 = b.col4
     17  when not matched then insert (a.col1) values (null);
    
    3 rows merged.
    
    SQL> select * from t;
    
    COL1                           COL2                           COL3                           COL4                           COL5
    ------------------------------ ------------------------------ ------------------------------ ------------------------------ ------------------------------
    adsdf                          fgrty                          erfth                          oiunth                         adsdf,fgrty,erfth,oiunth,okujt
    x                              y                                                                                            x,y
    a                              b                              c                              d                              a,b,c,d
    
    3 rows selected.
    
    SQL> 
    

    Assuming you're on 9i...

  • How can I take short videos of my digital camera and combine them into one video.

    I went to a class reunion and took several short videos and want to combine them into one so that I can make a DVD with photos and videos.

    What is the format of the video clips? Are they compatible
    with Windows Live Movie Maker and Windows DVD Maker?

    First... If you import video clips in Windows group
    Creating DVD... Each clip becomes a scene (chapter).

    Or... you can import the group into Movie Maker add them
    for a project and save it as a. WMV video file... cela will combine
    in a single file.

    Also... Format Factory free software has a Video Joiner
    option that will join files very quickly and can be
    worth a try.

    (FWIW... it's always a good idea to create a system)
    Restore point before installing software or updates)

    Format Factory
    http://www.videohelp.com/tools/Format_Factory
    (the 'direct link' is faster)
    (the file you want to download is: > FFSetup270.zip<>
    (FWIW... installation..., you can uncheck
    ('all' boxes on the last screen)

    First, you will need to decompress the file or just open the
    Drag FFSetup270.exe out of the folder
    and drop it on your desktop. To install left click.

    Next, after the download and installation of Format
    Factory... you can open the program and
    left click on the toolbar, the "Option" button and
    "Select an output folder to" / apply / OK.
    (this is where you find your files after they)
    are converted)

    Once installed, open Format Factory... to the left
    pane... Choose... Advanced / Video Joiner...
    On the left, click on the button Add file and import your video
    clips. Choose an output format and on the left, click OK.

    On the left, click on the Start button in the toolbar and your
    video files will be combined.

    Good luck...

  • How can I take 2 files saved on Word 3 and combine them into a single file?

    How can I take 2 or 3 files saved on Word 3 and combine them into a single file?

    How can I take 2 or 3 files saved on Word 3 and combine them into a single file?

    Hello

    The easiest way would be to simply copy all the content files and paste them into one of the other files.

    Concerning

  • Length of a value of type LONG

    What is the best way to determine the length of the value of a LONG data column? I'm working on the conversion of some tables in my database that still use the LONG CLOB or VARCHAR2 column... have not yet decided.

    I found a function that converts in VARCHAR2 and returns this value. But VARCHAR2 goes up to 32767, so I would like to know if the value in the LONG column is greater than LENGTH() function does not work.

    Thanks for all the help,
    ivalum21

    But the easiest would be

    create table new_tab
    as
         select pk_col, to_lob (long_col) long_col from tab_with_long
    /
    
    select pk, length (long_col) from new_tab
    /
    
  • 9 IOS iPhone App Maps: Can not erase ALL of my search history, only some of them.

    I was able to remove most of my search history in maps by typing on the field of RESEARCH, tapping FAVORITES, then RECENT tapping on the bottom, then tapping CLEAR on top.

    However, there are 5 left entrances where there is the word before them.  3 are contacts, I know 1 is a text of a contact I have more in my phone, and the last is an application.  How can I get rid of all?

    Thank you.

    I have this issue too, impossible to delete the history of research since 9.3. There are always 3 entrances and they change automatically if I read an email or if I get a text message...

    Help please.

  • Can I copy the list of names of files and paste them into a table

    I have a list of files in a folder and here paste the titles only in a table

    You can create a list of text files by using the command prompt.

    • Open a command prompt in the folder that you want to get the list of. (You can open a command prompt and navigate to your required file, or use the Solution Explorer and press and right click on your file at the same time. Then you should see "open a command here window' in the menu - click on it.)
    • Enter the command "dir /b > filenames.txt" (without the quotes), then simply type dir /b > filenames.txtand press return/enter to transport.
    • Use Explorer to navigate to your file and you should now see a text file called filenames.txt. Open and it must contain a list of files. Then, copy and paste the list where you want to.

    If all goes well, I understood your question correctly, if so, hope it helps.




  • How can I program a button to retrieve an image from a user base and insert them into a form field?

    I need help (I have not the slightest idea) with a java script to program a button to retrieve an image from a user base and insert into a form field. To go to the menu select icon.

    [edited by moderator - he had no body to the post office and it was while heading a long title.] [Shorten the title and pasted the original title, plenty of length as the message body]

    Okay, that's actually quite easily. As the l' evenement event MouseUp button, select "Execute JavaScript" and enter this code:

    event.target.buttonImportIcon ();

    When you click the button it will open a file selection dialog and the selected file is displayed under the icon of the button.

Maybe you are looking for

  • Satellite 1900-101 - How to adjust the display?

    I have a type of laptop Toshiba 1900-101 and have been very satisfied since I bought it 3 years ago.One thing I fear is, that I could 'break' the socket plastic of the screen, since I have to use force to open / close. Could someone tell me how to ad

  • Example: батарея

    The battery is dead! After replacement on the news and the controls on how to tune, gives out that battery not the worker must also urgent replacement. How can it be a problem? (the battery is new, it is purchased in specialty store, he is responsibl

  • Error Code 800F0825

    The 'important' Vista update KB937287 failed to download on my computer.  It comes up with the error code 800F0825, but whenever I search for it on the internet there is no relevant articles.

  • Cannot connect to the internet today. Everything happens very slowly.

    WHAT IS THE PROBLEM WITH THIS INTERNET SERVICE TODAY CAN NOT CONNECT TO ANYTHING. WHAT IS ALL THIS ROBBERY

  • 400 LaserJet (M401): HP Laserjet 400 Networking Question

    We have a HP Laserjet 400 that is connected to a wired network. We also have a point of wireless access on the same network. When an ethernet cable is connected to the printer (in a perfect world), the wireless tap stop to avoid conflicts, BUT about