Why is conversion of procedures & functions due to lack of MySQL to Oracle?

Hi all

I'm trying to migrate a database from MySQL to Oracle using the Migration Workbench data in SQL Developer 1.5.4.
I ran both the quick Migration Wizard and the Manual Migration process as described in the documentation.

I get through the process very well, even if not everything is successfully migrated. Namely, stored procedures and functions of the database of third parties are not correctly migrated.
The following text is listed in the Migration log for each of the stored procedures and functions:

* "Limitation of the translation"procedure_audit requires a translation of the manual"met on the column of the stored procedure fse.procedure_audit line 0-0."

If I look at the 'converted' model the procedure has been created and is set to NULL. The procedure of 'captured the model' original is commented out in the body of the procedure in the "convert" template Does anyone have any ideas as to why it's a failure? And how do I fix it?


In addition, there seems to be a problem with the conversion of the index, particularly those that are 'MAJOR' indexes in MySQL not appear in models 'captured' or 'converted '.


In addition, the migration log provides the following:

* "Index 'customer_customer_id' on the 'customer' table ' has been ignored, because it is a duplicate of a constraint" * "

Looking at the index in the original third party database, it does appear that an index on that column on the respective table. The ides why this happens?


Here, any help would be immensely appreciated.

Thank you
Amedeo.

Mysql stored procedure to PL/SQL function is not available, or in the direction sqldeveloper statement:

http://www.Oracle.com/technology/products/database/sql_developer/files/sqldeveloperstatementofdirection.htm

-Turloch

Tags: Database

Similar Questions

  • Why my up & arrow keys function changed? I didn't click something by accident? Help please?

    Why my up & arrow keys function changed?
    I didn't click something by accident?
    Help please?

    (My new kitten * power have stood on something on my keyboard - it has done this before and put the mode full-screen, but I managed to fix this)

    Normally, I scroll a web page a little at a time using the down arrow on my laptop keyboard key. Since yesterday, when I press the arrow down, the page jumps to the bottom (like pressing PageDown) and arrow high jump all the way to the top.

    How I put it back so that it scrolls a little while I press the button?

    Hello Lancs, please press F7 to leave caret navigation mode - then the behavior should be back to normal...

  • Difference of procedure & function

    Hi all

    After citing some tutorials, I got to know that the difference between the procedure and the function is that the procedure may or may not return a value as the function must return a value to the calling program. Given below is my procedure. & He would compare the lower of the two numbers would be smaller than

    create or replace procedure findmin

    (

    x in number,

    there in numbers,

    z series

    )

    is

    Start

    if(x<y) then

    z: = x;

    on the other

    z: = y;

    end if;

    end;

    declare

    c number;

    Start

    findmin (23,45,c);

    dbms_output.put_line (c);

    end;

    Here's my function even if it does the same thing.

    create or replace function findmin_fun

    (

    x in number,

    y number

    )

    Return number

    is

    number of z;

    Start

    if(x<y) then

    z: = x;

    on the other

    z: = y;

    end if;

    Return z;

    end;

    declare

    Start

    dbms_output.put_line (findmin_fun (56,28));

    end;

    I would like to know under what are all the scenarios of the procedure and function would be used. And also I want to know could do dml as insert, update, and delete operations

    If so, could you guys explain me with some examples to expose DML operations on functions

    After citing some tutorials, I got to know the difference between the procedure & function is that the procedure may or may not return a value as the function must return a value to the calling program.

    Not quite.

    A procedure does NOT return a value - it can fill in the parameters OUT or INOUT but which is NOT considered to be "of return values.

    A function ALWAYS returns a value that can be null. The only exception is if the function throws an exception.

    My procedure is given below. It would be to compare the lower of the two numbers & would mean that smaller

    Not quite - the procedure returns NO value. You use it to try to fill one OUT parameter, but it's NOT the same.

    I would like to know under what are all the scenarios the procedure & function would be used.

    Functions can be used in SQL; procedures cannot be used in SQL.

    The functions return a value; procedures of does NOT return a value.

    Use the functions when you need to return a value; Use the procedures when you do NOT need to return a value.

    It is not possible to list 'all scenarios' for one or the other, because there may be ANY NUMBER of possible scenarios.

    And also I want to know could do dml as insert operations, update & delete

    What happened when you tried?

    The best and fastest, to learn is to actually TRY THINGS. Don't be afraid to break the Oracle by actually writing code and tests of things yourself.

    If so, could you guys explain me with some examples to expose DML operations on functions

    The Oracle documentation have a LOT of examples of using functions and procedures and include the code of the example.

    https://docs.Oracle.com/CD/E11882_01/AppDev.112/e25519/subprograms.htm#CHDBEJGF

    The internet has even more examples of code.

  • Updated APEX collection error ORA-04044: procedure, function, package, type

    Hi all

    I am trying to update the APEX MEMBER of the COLLECTION and encounter errors:


    1 error has occurred
    ORA-06550: line 9, column 8: PL/SQL: ORA-04044: procedure, function, package or type is not allowed here ORA-06550: line 7, column 3: PL/SQL: statement ignored

    The PLSQL code are as below

    DECLARE
    entire x;
    v_date_started VARCHAR2 (255);
    v_date_finished VARCHAR2 (255);
    BEGIN
    SELECT c.seq_id
    X
    OF APEX_COLLECTION c
    WHERE collection_name = "PHASE_COLLECTION."
    AND c001 =: P41_MPM_ID
    and rownum = 1;
    v_date_started: =: P41_DATE_STARTED;
    v_date_finished: =: P41_DATE_FINISHED;

    APEX_COLLECTION. () UPDATE_MEMBER
    p_collection_name = > 'PHASE_COLLECTION '.
    , p_seq = > x
    , p_c004 = > v_date_started
    , P_c005 = > v_date_finished
    );
    END;


    The process will take place after SUBMIT and validation.

    The code I used to add a colletion APEX will work perfectly and is as below

    -Initialization Collection PHASE_COLLECTION
    BEGIN
    IF THIS ISN'T APEX_COLLECTION. COLLECTION_EXISTS('PHASE_COLLECTION') THEN
    APEX_COLLECTION. CREATE_COLLECTION ('PHASE_COLLECTION');
    ON THE OTHER
    APEX_COLLECTION. TRUNCATE_COLLECTION ('PHASE_COLLECTION');
    END IF;
    -Add members to the COLLECTION PHASE of table PHASE_MEMBERSHIP
    IF: P41_MPM_ENG_ID IS NOT NULL THEN
    FOR x IN (SELECT mpm_id, mpm_eng_id, phase_number, date_started, date_finished, date_created
    OF phase_membership
    WHERE mpm_eng_id =: P41_MPM_ENG_ID
    AND active = 1
    ORDER BY date_created)
    LOOP
    APEX_COLLECTION. ADD_MEMBER
    (p_collection_name = > 'PHASE_COLLECTION')
    , p_c001 = > x.MPM_ID
    , p_c002 = > x.MPM_ENG_ID
    , p_c003 = > x.PHASE_NUMBER
    , p_c004 = > x.DATE_STARTED
    , p_c005 = > x.DATE_FINISHED
    , p_c006 = > x.DATE_CREATED

    );
    END LOOP;
    END IF;
    EXCEPTION
    WHILE OTHERS THEN
    Logger.Error (p_message_text = > SQLERRM)
    , p_message_code = > SQLCODE
    , p_stack_trace = > dbms_utility.format_error_backtrace
    );
    LIFT;
    END;


    What I tried to use APEX_COLLETION to check the overlap between the date_range.
    The requirement is just to display a warning if the user adds a record to the new phase or update record of current phase may overlap between the order of phase together.
    Table PHASE_MEMBERSHIP script is

    CREATE TABLE 'PHASE_MEMBERSHIP '.
    (
    ACTIVATE THE "MPM_ID" NUMBER NOT NULL,
    ACTIVATE THE "MPM_ENG_ID" NUMBER NOT NULL,
    ACTIVATE THE "PHASE_NUMBER" NUMBER (2.0) NOT NULL,
    "DATE_STARTED" DATE NOT NULL ACTIVATE.
    DATE OF THE "DATE_FINISHED."
    'NOTES' VARCHAR2 (2000 BYTE),
    'DATE_CREATED' DATE NOT NULL ACTIVATE.
    ACTIVATE THE 'CREATED_BY' VARCHAR2 (20 BYTE) NOT NULL,
    NUMBER (2.0) 'ACTIVE' DEFAULT 1 ACTIVATE NOT NULL)

    So, basically, I want to fill the documents associated with a particular to a collection of APEX called PHASE_COLLECTION MPM_ENG_ID.
    Then when the user specify date_started and date_finished, it will update/insert the APEX collection first.
    Then the rank based on audit collection date
    http://www.Oracle-base.com/articles/Misc/overlapping-date-ranges.php
    then display the warning to ask the user to confirm message.

    But then I'm stuck at the step of updating COLLECTION of APEX.

    If anyone has any ideas on what is wrong, please help.

    Thanks in advance.

    Ann

    Your syntx error line number should give you the trick - it is not a member of the update, rather the SQL - you are referring to apex_collection, not apex_collections view dictionary.

    Scott

  • Build a complicated procedure/function

    Hello world

    I am creating a complicated procedure.

    I have three columns:
    line     A          B        C
    1       5.5       3.2       -
    2       1.05     6.1       -
    3        0.6      7.8       -
    4        6.4     4.13      -
    5         -         -        8.98
    Column C contains a result. So, I need to find how this result was built. In other words, this procedure/function must answer the question:
    What are the numbers in columns A and B, which has contributed to achieve this result.
    In this example, we found that:
    C = B(1) + A(2) + A(3) + B(4) = 3.2 + 1.05 + 0.6 + 4.13 = 8.98
    (there is a condition: we cannot do so one number per line is selected.: A(1) + B(1).)

    Concerning

    Published by: zakaria84 on May 22, 2009 15:25

    Published by: zakaria84 on May 22, 2009 15:49

    Hello Zakaria,

    Here is a right solution with SQL:

    SQL> create table giventable (a,b,c)
      2  as
      3  select 5.5, 3.2, null from dual union all
      4  select 1.05, 6.1, null from dual union all
      5  select .6, 7.8, null from dual union all
      6  select 6.4, 4.13, null from dual union all
      7  select null, null, 8.98 from dual
      8  /
    
    Tabel is aangemaakt.
    
    SQL> create table resulttable as select * from giventable where 1=0
      2  /
    
    Tabel is aangemaakt.
    
    SQL> insert into resulttable
      2  select a
      3       , b
      4       , null
      5    from ( select case mod(trunc(l/power(2,line)),2) when 0 then a else null end a
      6                , case mod(trunc(l/power(2,line)),2) when 1 then b else null end b
      7                , sum(case mod(trunc(l/power(2,line)),2) when 0 then a else b end) over (partition by l) x
      8             from ( select a
      9                         , b
     10                         , row_number() over (order by null) - 1 line
     11                      from giventable
     12                     where c is null
     13                  )
     14                , ( select level - 1 l
     15                      from dual
     16                   connect by level <= power(2,(select count(*) from giventable where c is null))
     17                  )
     18         )
     19   where x = (select c from giventable where c is not null)
     20   union all
     21  select null
     22       , null
     23       , c
     24    from giventable
     25   where c is not null
     26  /
    
    5 rijen zijn aangemaakt.
    
    SQL> select * from resulttable
      2  /
    
             A          B          C
    ---------- ---------- ----------
                      3,2
          1,05
                     4,13
            ,6
                                8,98
    
    5 rijen zijn geselecteerd.
    

    Kind regards
    Rob.

  • Wamp server which could not start due to lack of MVCR110. DLL

    I installed a wamp server that failed to start due to lack of MVCR110. DLL. but later, I downloaded the MVCR110. Update the DLL and install and the application started successfully. But the apache installation failed due to lack of VCRUNTIME140. DLL. This is why, wamp doesn't. Please, help me. Thank you.

    This issue could if the Package redistributable Microsoft Visual C++ 2010 is not installed correctly.

    I suggest you to uninstall all existing Microsoft Visual C++ Redistributable Package and install the latest Microsoft Visual C++ 2010 Redistributable Package to check if it helps.

    Follow the steps below:

    Step 1: uninstall the exit Microsoft Visual C++.

    (a) press Windows key + x and select programs and features.

    (b) right-click on the Microsoft Visual C++ , and then uninstall it.

    Step 2: download the latest Microsoft Visual C++ and install it.

    See the link below:

    https://www.Microsoft.com/en-US/Download/details.aspx?ID=40784

  • How to migrate from MySQL to Oracle stored procedure

    Hi all

    I've migrated mysql 5.1.42 - enterprise-gpl-advanced DB for oracle sqldeveloper 3.1.07 tool.

    DB objects migrate successfully except stored procedures.

    I checked .sql and files... Capture process not captured SQL stored procedures.

    Could you please suggest where I can check correct error or how to fix this.

    Thanks in advance.

    Hello

    SQL * Developer version you use is an old and you must use the latest version available from this link.

    Oracle SQL Developer

    However, even the v4 version does not support the migration of procedures stored as stated in this link - MySQL

    http://www.Oracle.com/technetwork/developer-tools/SQL-Developer/supportedmigplatforms-086703.html

    You will need to manually convert the MySQL in Oracle format, stored procedures since even the "Scratch Editor" under "tools - migration '-doesn't have an option for MySQL conversion.

    The documentation includes details of the difference between MySQL and Oracle stored procedures-

    Oracle SQL Developer information for the migration of MySQL®

    in chapter Triggers and procedures stored

    Kind regards

    Mike

  • UNIX_TIMESTAMP and FROM_UNIXTIME from MySQL to ORACLE functions

    Hi all

    I'm migrating some functions and stored procedures in MySQL to ORACLE, and I the next instruction

    Set valuedat = FROM_UNIXTIME (valor + UNIX_TIMESTAMP ('2000-1-01 00:00:00 '));

    Since MySQL.

    Look, I found that:

    UNIX_TIMESTAMP ('2000-1-01 00:00:00 ')

    can be equivalent to the following query:

    SELECT (to_date (January 1, 2000 "," MON-DD-YYYY')-to_date('01-jan-1970','DD-MON-YYYY')) * (86400) as dt FROM dual;

    but testing the numbers is not the same

    Please can someone help me!

    Specifically, I need to know how to build the equivalent in oracle for FROM_UNIXTIME and UNIX_TIMESTAMP functions

    Thank you and best regards!

    CRGM

    Hello

    These are functions that I built to solve the original requirement, thanks for all your comments.

    ************************************************************************************************************************************

    CREATE OR REPLACE FUNCTION FROM_UNIXTIME

    (

    TIMESTAMP_ NUMBER

    ) AS OF DATE OF RETURN

    NUMBER OF SECONDS_PER_DAY: = 86400;

    MASK (50 CHAR) VARCHAR2: = 'DD-Mon-YYYY HH24:MI:SS ";

    DATE OF REF_DATE;

    BEGIN

    REF_DATE: = TO_DATE ('01 - ENE - 1970 00:00:00 ', MASK);

    RETURN REF_DATE + (TIMESTAMP_/SECONDS_PER_DAY);

    END FROM_UNIXTIME;

    **********************************************************************************************************************************

    CREATE OR REPLACE FUNCTION UNIX_TIMESTAMP

    (

    DATE_ IN DATE

    ) RETURN AS NUMBER

    NUMBER OF SECONDS_PER_DAY: = 86400;

    NUMBER OF DIFF_BETWEEN_DATES;

    MASK (50 CHAR) VARCHAR2: = 'DD-Mon-YYYY HH24:MI:SS ";

    DATE OF REF_DATE;

    BEGIN

    REF_DATE: = TO_DATE ('01 - ENE - 1970 00:00:00 ', MASK);

    DIFF_BETWEEN_DATES: = TO_DATE (TO_CHAR (SYS_EXTRACT_UTC (DATE_), MASK), MASK)

    -REF_DATE;

    RETURN DIFF_BETWEEN_DATES * SECONDS_PER_DAY;

    END UNIX_TIMESTAMP;

    ******************************************************************************************************************************

    Concerning

  • I have to cancel my account of temporary internet service provider due to lack of funds, I lose my settings/bookmarks of Firefox when I reactivate my internet account?

    I have to cancel my account of temporary internet service provider due to lack of funds, I lose my settings/bookmarks of Firefox when I reactivate my internet account?

    Settings/bookmarks of Firefox are stored in the profile on your computer folder. They will not be lost when you cancel your account with your internet service provider. They will be available when you reactivate your account, or if you switch to another internet provider.

  • due to lack of space on my HARD drive, I moved Photoslibrary to a USB port. When I connect my iPhone 6 I am able to transfer photos from my phone to the PhotosLibrary on the USB port, but when I sync, photo library is not get highlighted. Cannot synchroni

    due to lack of space on my HARD drive, I moved Photoslibrary to a USB port. When I connect my iPhone 6 I am able to transfer photos from my phone to the PhotosLibrary on the USB port, but when I sync, photo library is not get highlighted on the USB port. Cannot synchronize.

    Hello, manoj0910.

    Please visit Apple support communities.

    Looks like you can't synchronize the pictures located on your external drive.  I need a little more information about your configuration to provide a better answer.  However, we will try to sync your photos through the section of the file through the article below.  You just need to direct iTunes to where your photos are stored on your external drive.

    If your photos are in a folder

    1. Select "Choose a folder" from the context menu.
    2. Choose the folder where you store your photos.
    3. Click on apply.

    You can arrange photos in subfolders to create photo albums.

    Sync photos from your computer to your device iOS through iTunes

    See you soon

  • System OR Configuration: (Hex 0x8004041F) the operation failed due to lack of dependence.

    I went to start one of my vi of today and I get this message: NI System Configuration: (Hex 0x8004041F) the operation failed due to lack of dependence.

    No one knows what it is or how to fix it?

    I finally fixed it.  After a complete repair of all my software from National Instruments does not solve it.  I've updated my fpga, labview real-time for 2013 SP1.  Everything seems to work again.

  • Error opening a VI (LabVIEW: unable to load dynamic library due to lack of external symbols or dependencies, or a format file not valid.) The file could not be loaded)

    Hi all!

    Yesterday, I worked all day in a VI and today, unfortunately, I'm frustrated when I tried to open it. Received the following error message:

    LABVIEW: Unable to load dynamic library due to lack of external symbols or dependencies, or a format file not valid. The "ENG633 v1.vi" file could not be loaded.

    This message repeats when I try else open a Subvi.

    Step by step:

    1. I created a copy of the LabVIEW VI example: "FuzzyEx Tanks with control of PI." I kept the copy in the same original directory.

    2 - I have edited the copy, created Subvi etc.

    3 - once I finished my course of programming I closed all the cut (ctrl-x) files and copied (ctrl v) into the other folder.

    4. then I tried to open the next day and... bug! I just couldn't do

    What can I do to open/recover the VI?

    I am using 32-bit LabVIEW 2016 in a Windows 10

    I tried opening them and got the same error you did, so I them opened with a hex editor to see if there was something in the file, and there is literally nothing other than the value of 0x00 for the entire file.

  • The installation of my recently acquired HP J3680 failed due to lack or the 'print spool.

    Original title: EU tive an instalacao da HP j3680 interrompida por falta "of printing spool" Como procedo?

    The installation of my recently acquired HP J3680 failed due to lack or the 'print spool.

    What can I do?  You have a possible solution?

    Thank you

    Fernando

    Hello

     
     
    What is the exact error message that you receive?
     
     
    I suggest you read the steps from the article below and check if it helps.
     
     
     
    If you want to support in your language, then I suggest you check out the link below.
     
  • My set-up agency &amp; ABC developed for us. We no longer use the Agency. I have 2 log-in - but 1) cannot change my billing settings &amp; 2) cannot update models due to lack of access. Need help to change this.

    My set-up agency & ABC developed for us. We no longer use the Agency. I have 2 log-ins - but 1) cannot change my billing settings & 2) cannot update models due to lack of access. Need help to change this.

    Hi Rebecca,.

    You should get in touch with our accounts team to work a solution to your problem. Drop them a note at: contact us | Adobe Business Catalyst

    Cristinel

  • Conversion of a query GROUP_CONCAT of MySQL to Oracle

    Hi all
    We migrated our MySQL to Oracle database and we are facing the GROUP_CONCAT in MySQL built-in function.
    I went through the WM CONCAT, COLLECT AND other built-in aggregates Oracle packages. Our problem is the following:
    Table A (emp_number, emp_firstname, emp_lastname, Emp_status) and table B (emp_reporting_mode, emp_sub_mode, emp_sup_mode); Emp_sup_mode here is the employee
    These tables are not related, and we have these data
    Table A
    emp_number emp_firstname emp_lastname Emp_status
    5 BEN STA000 Raoul
    Nadine 6 YAYA NULL
    1 Hermann LONDJI STA001
    STAT00 ONANA honors 14

    Table B
    emp_reporting_mode emp_sup_mode emp_sub_mode
    1-6-1
    1-14-5
    The emp_sup_mode represents the emp_number and emp_sub_mode the emp_number subordinate supervisor. MySQl was able to use the GROUP_CONCAT to concatenate this.
    as such and should exit the emp_firstname and the emp_lastname of the contractor where the supervisor code is equivalent to the number of the employee. Here, we can see Nadine YAYA (emp_number 6) is the prime contractor to Hermann LONDJI (emp_number 1) and Honoré ONANA (emp_number 14) is the architect of Raoul ESSOME (emp_number 5).
    Thanks for any input. Other methods and rather global functions of similar id and cos.
    with a as (
               select 5 emp_number,'Raoul' emp_firstname,'ESSOME' emp_lastname,'STA000' emp_status from dual union all
               select 6,'Nadine','YAYA',NULL from dual union all
               select 1,'Hermann','LONDJI','STA001' from dual union all
               select 14,'Honore','ONANA','STAT00' from dual
              ),
         b as (
               select 1 emp_reporting_mode,6 emp_sup_mode,1 emp_sub_mode from dual union all
               select 1,14,5 from dual
              )
    select  a1.emp_number,
            a1.emp_firstname,
            a1.emp_lastname,
            a2.emp_firstname || ' ' || a2.emp_lastname supervisor
      from  b,
            a a1,
            a a2
      where a1.emp_number = b.emp_sub_mode(+)
        and a2.emp_number(+) = b.emp_sup_mode
    /
    
    EMP_NUMBER EMP_FIR EMP_LA SUPERVISOR
    ---------- ------- ------ --------------
             1 Hermann LONDJI Nadine YAYA
             5 Raoul   ESSOME Honore ONANA
            14 Honore  ONANA
             6 Nadine  YAYA
    
    SQL> 
    

    SY.

Maybe you are looking for