try to run a procedure using perl

Hello

I'm trying to run a procedure using perl as under:

my @tabs = qw! ACTOR ADDRESS CITY COUNTRY CUSTOMER INVENTORY STAFF STORE LANGUAGE FILM CATEGORY.

for my {$ts (@tabs)

chomp $ts;

My $csr = $ora - > prepare (q {}

BEGIN

update_cascade.on_table(:TS)

END;

});

$csr-> bind_param (": ts", $ts ");

$csr-> run;

}

Which results in the following errors:

DBD::Oracle:St run failed: ORA-06550: line 4, column 12:

PLS-00103: encountered the symbol "END" when expected in the following way:

:= . ( % ;

The symbol ';' was replaced by 'END' continue. (DBD ERROR: error possibly near <>* indicator to the 71 char in ')

BEGIN

update_cascade.on_table(:TS)

<>* END;

') [for statement ""]

BEGIN

update_cascade.on_table(:TS)

END;

«with ParamValues: ts = 'ACTOR'] at sakila_update_cascade.pl line 18.»

DBD::Oracle:St run failed: ORA-06550: line 4, column 12:

PLS-00103: encountered the symbol "END" when expected in the following way:

:= . ( % ;

The symbol ';' was replaced by 'END' continue. (DBD ERROR: error possibly near <>* indicator to the 71 char in ')

BEGIN

update_cascade.on_table(:TS)

<>* END;

') [for statement ""]

BEGIN

update_cascade.on_table(:TS)

END;

«with ParamValues: ts = 'ACTOR'] at sakila_update_cascade.pl line 18.»

I can run it in SQLPlus under Deputy

exec update_cascade.on_table (:'ACTOR');

I tried with:

update_cascade.on_table('||:ts||')

This does not run and you get this error in perl:

Unable to bind placeholder unknown ': ts' (': ts') to the sakila_mig.pl of the line 659.

Package DBD::Oracle example provided in point sites:

my $test_num = 5 ;

my $is_odd ;

$csr = $db -> prepare (q{

BEGIN

PLSQL_EXAMPLE. PROC_IN_INOUT ( :test_num, :is_odd) ;

FIN;

});

$csr -> bind_param (":test_num", $test_num);

$csr -> bind_param_inout (":is_odd", \$is_odd, 1);

$csr ->execute

Thanks a lot for your help!

Tonya.

My = $ora $csr-> prepare (q {}

BEGIN

update_cascade.on_table(:TS)

END;

});

You missed a semicolon (;)

Tags: Database

Similar Questions

  • Try to run a procedure that takes as parameter VARRAY

    Hi gurus,
    I am trying to run a procedure having a table entry.
    However, I get an error during execution.
    Can you please help me on how to run a procedure having a table input?


    create or replace type type_a in the table to the number (10,0);

    Script:

    declare
    txn_id type_a
    Start
    txn_id type_a()
    txn_id (1): = 516963065;
    procedure_1 (emp_id = > 1001, txn_id)
    end;

    Besides above solutions, you must confirm that all variables have a corresponding input parameter, including the case even in the name of the variable, if your Oracle database is case-sensitive.

    Can you check and let us know your findings?

    Kind regards
    Ashutosh

  • Try to run the procedure and get an error PLS-00103

    I have a procedure defined with these parameters

    create or replace PROCEDURE procAuth
    (
    EMAIL IN VARCHAR2,
    PASSWORD IN VARCHAR2,
    IP IN VARCHAR2,
    UL NUMBER
    )

    Using this code

    var x number
    procAuth exec ('[email protected]', ' 555555 ', ' 1.1.1.1': x);
    print x

    gives me


    Error at startup on line 2 of the command:
    procAuth exec ('[email protected]', ' 555555 ', ' 1.1.1.1': x);
    Error report:
    ORA-06550: line 1, column 65:
    PLS-00103: encountered the symbol "" when expecting one of the following values:

    . ( ) , * @ % & | = + - <>/ at is mod not rank rem = >
    .. < an exponent (*) > <>or! = or ~ = > = < = <>and or as
    between |
    The symbol ',' was replaced by ' ' to continue.
    06550 00000 - "line %s, column % s:\n%s".
    * Cause: Usually a PL/SQL compilation error.
    * Action:
    x
    ------



    Thanks for any help

    jerry8989 wrote:
    I have a procedure defined with these parameters

    create or replace PROCEDURE procAuth
    (
    EMAIL IN VARCHAR2,
    PASSWORD IN VARCHAR2,
    IP IN VARCHAR2,
    UL NUMBER
    )

    Using this code

    var x number
    exec procAuth (' [email protected]', '555555',' 1.1.1.1': x);
    print x

    gives me

    Error at startup on line 2 of the command:
    exec procAuth (' [email protected]', '555555',' 1.1.1.1': x);

    a comma is perhaps missing to the right of the right like apostrophe below?

    procAuth exec ('[email protected]', ' 555555 ', ' 1.1.1.1',: x);

  • Run immediately by using bind variable in plsql

    Hello

    I have the procedure which has the status valid .

    SQL > create or replace PROCEDURE (p_CLGProcExcl_s_by_Db_Name_T)

    2 v_Database_name in VARCHAR2 DEFAULT NULL,

    3 cv_1 SYS_REFCURSOR to)

    4

    5 AS

    6 v_SQL VARCHAR2 (2000);

    7    /*

    8. check the table of CLGProcExclusions for columns (lke inserts\updates\deletes) and procs which do not return.  This will prevent

    9 the clg.exe to try to run all these without reason (since all its trying to do is determine what than the willreturn procs).

    10 that this saving thousands back and forth to the DB.

    11 However, the unfavorable to DELETE in the beging erases all procedures that may have been changed since the last time

    CLG 12 determined that it should be excluded column generation routines.

    13 * /

    BEGIN 14

    15 v_SQL: = ' delete object, e CLGProcExclusions e I

    where the 16

    17 i.owner = "' | v_Database_name | " '

    18 AND i.object_name = e.Procedure_Name

    19 AND i.LAST_DDL_TIME > e.CreatedDate';

    20 execute immediate v_SQL using v_Database_name;

    21 OPEN cv_1 to SELECT v_Database_name Database_Name, PROCEDURE_NAME OF CLGProcExclusions WHERE Database_Name is v_Database_name;.

    22 END;

    I have test, run this procedure using SQL developer tool, but encounter following error:

    ORA-00933: SQL not correctly completed command.

    ORA-06512: at "DBCC_CLG. P_CLGPROCEXCL_S_BY_DB_NAME_T', line 20

    ORA-06512: at line 7

    Recognizing the help / suggestion on this.

    Thank you.

    Why use dynamic SQL statements? You can simply do this.

    create or replace procedure p_clgprocexcl_s_by_db_name_t
    (
        v_database_name in   varchar2 default null
      , cv_1            out  sys_refcursor
    )
    as
      v_sql varchar2(2000);
    begin
      delete
        from clgprocexclusions a
       where exists
             (
                select null
                  from all_objects o
                 where o.owner          = v_database_name
                   and o.object_name    = a.procedure_name
                   and o.last_ddl_time  > a.createddate
             );
    
      open cv_1
      for
      select v_database_name database_name
           , procedure_name
        from clgprocexclusions
       where database_name = v_database_name ;
    end;
    
  • How to run a planner using regular time

    -Details of the Planner
    BEGIN
         dbms_scheduler.create_schedule(  
         schedule_name  => 'INTERVAL_EVERY_1_MINUTES',  
         start_date    => trunc(sysdate)+18/24,  
         repeat_interval => 'freq=MINUTELY;interval=1',  
         comments     => 'Runtime: Every day all 1 minutes');  
    END;
    -program code
    BEGIN      
         dbms_scheduler.create_program  
         (program_name=> 'PROG_FEED_UK_DATA',  
         program_type=> 'STORED_PROCEDURE',  
         program_action=> 'LOAD_CUSOMERS_UK',  
         enabled=>true,  
         comments=>'Procedure to LOAD UK information'  
         );  
    END; 
    -labour code
    BEGIN        
         dbms_scheduler.create_job  
         (job_name => 'JOB_FEED_UK_DATA',  
         program_name=> 'PROG_FEED_UK_DATA',  
         schedule_name=>'INTERVAL_EVERY_1_MINUTES',  
         enabled=>true,  
         auto_drop=>false,  
         comments=>'Job to collect data about session values every 5 minutes');  
    END; 
    all these three code successfully compiled. but it is not executed automatically and run every 1 minute.

    I try to run this caraa using following code

    BEGIN
    dbms_scheduler.run_job ('JOB_FEED_UK_DATA', true);
    END;

    It works very well...
    create or replace
    PROCEDURE LOAD_CUSTOMERS_UK
    IS
    BEGIN
      Insert into CUSTOMERS_UK (ID, NAME, CITY)  VALUES (1,'SMITH','LONDON');
      Insert into CUSTOMERS_UK (ID, NAME, CITY)  VALUES (2,'JONES','LONDON');
      Insert into CUSTOMERS_UK (ID, NAME, CITY)  VALUES (3,'BROWN','BRIGHTON');
      Insert into CUSTOMERS_UK (ID, NAME, CITY)  VALUES (4,'GREY','BATH');
      Insert into CUSTOMERS_UK (ID, NAME, CITY)  VALUES (5,'ALDWIN','PLYMOUTH');
      COMMIT;
    END;
    What is the problem in my code

    Published by: OraFighter on June 5, 2013 12:18

    What is the value of the parameter - job_queue_processes? He sucks?

    SQL> show parameter job
    
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ----------
    job_queue_processes                  integer     1000
    

    Published by: JAC on 5 June 2013 14:16
    Between, you don't need to create employment in the SYS schema... In fact, you should avoid creating application objects in the SYS schema...

  • .exe error] is not found the procedure entry point AddAtomW Entry Point not found in dynamic bindings KERNEL32 library. DLL when I try to run any program. I have

    Original title: [ProgramName] .exe Entry Point not found

    I get this message: the point procedure entry AddAtomW could not be found in dynamic bindings KERNEL32 library. DLL when I try to run any program. I don't know what to do. Help please!

    Hello

    1. did you of recent changes on the computer?

    Method 1:
     
    It is possible that some third-party programs installed on the computer is causing the problem.
    I suggest that you put the computer in a clean boot state and check if it helps.
    To help resolve the error and other messages, you can start Windows Vista or Windows 7 by using a minimal set of drivers and startup programs. This type of boot is known as a "clean boot". A clean boot helps eliminate software conflicts.
     
    See the link below to learn more about how to clean boot.
    How to configure Windows XP to start in a "clean boot" State
    http://support.Microsoft.com/kb/310353
     
    Reset the computer to start as usual
    When you are finished troubleshooting, follow these steps to reset the computer to start as usual:
    (a) click Start, type msconfig in the search box and press ENTER.
    (b) If you are prompted for an administrator password or for confirmation, type your password or click on continue.
    (c) under the general tab, click the Normal startup option, and then click OK.
    (d) when you are prompted to restart the computer, click on restart.

    Method 2:

    Put your boot system helps determine if third-party applications or startup items are causing the problem. If so, you need to maybe contact the manufacturer of the program for updates or uninstall and reinstall the program.

    See the following article in the Microsoft KB for more information on how to solve a problem by performing a clean boot in Windows Vista or Windows 7:

    How to troubleshoot a problem by performing a clean boot in Windows Vista or in Windows 7
    http://support.Microsoft.com/kb/929135

    Note: after a repair, be sure to set the computer to start as usual as mentioned in step 7 in the above article.

  • When you try to run chkdsk, it tells me which cannot be executed, the Volume is in use by another process, but trying to run at startup, I am told that the chkdsk command has been cancelled

    When you try to run chkdsk, it tells me which cannot be executed, the Volume is in use by another process, but trying to run at startup, I am told that the chkdsk command has been cancelled. message also indicates that there are errors.  How can I me then chkdsk to run

    Hello

    See if these two tutorials to help you with this.

    "How to run the check disk at startup in Vista or Windows 7"

    http://www.Vistax64.com/tutorials/67612-check-disk-Chkdsk.html

    "How to difficulty Chkdsk will not run at startup in Vista"

    http://www.Vistax64.com/tutorials/130824-CHKDSK-will-not-run-startup-Vista.html

    See you soon.

  • When I try to run the program already installed files (including volume control), the system always ask what program I want to use to run it.

    I recently installed a new antivirus protection software, now at any time, I try to run a program he's asking me what program I want to use to run it, even for already installed programs. For IE, firefox, etc, it's simple, but when I try to adjust the volume of the system through Control Panel he asks me what program I want to use it to run only and I can not. Any ideas how to solve this problem?

    Look at the article on execution of .exe files.

    Article number: 950505 - when you run an .exe on a Windows Vista-based or Windows 7 computer file, the file may start another program
    http://support.Microsoft.com/kb/950505

    You can make the default program using set Associations.
    1. open default programs by clicking the Start button, click default programs.
    2. click on associate a type of file or Protocol with a program.
    3. click on the file type or protocol that you want the program to act as the default value. (In this case it will be for .exe files).
    4. click on the change agenda.
    5. click on the program that you want to use by default for the selected file type, or click the arrow next to other programs to show other programs.
    6. (if you don't see other programs or your program is not listed, click Browse to find the program you want to use, and then click Open. If no other programs are installed that are able to open the type of file or Protocol, your choice will be limited.)
    7. click on OK.

    You can also look at the information here: restore the .exe Windows Vista file association, after badly with another application
    http://www.Winhelponline.com/articles/165/1/restore-the-exe-file-association-in-Windows-Vista-after-incorrectly-associating-it-with-another-application.html

    Thank you

    Marilyn

  • When I try to run a game that uses DirectX, it gives no error message or anything it either, then closes.

    When I try to run Black Ops II I double-click the icon and open the Task Manager to verify that the process is running. I see that it is running. But 30 seconds later, the process stops. Then I ran DxDiag and he says I'm under DirectX 11. However when I look for dxcpl.exe in the System32 folder, it isn't here. That's what I think, it is the origin of the problem. Please help me find a way to fix the missing DirectX file!

    Data sheet:

    OS: Windows 7 Ultimate 64 bit SP1

    Processor: Intel Core i5 CPU M 460 @2. 53 GHz

    RAM: 6.00 GB (5.87 usable)

    Dell Inspiron N5010

    I thought that the question was already answered-

    "dxcpl.exe (DirectX Control Panel) is not a default Windows file. I think that it only would be present when

    DirectX SDK developer tools are installed. "

    Therefore, there is no point in having a dxcpl.exe. It is not relevant to the running of the games.

    It is used by software developers who are coding with C++, and because you have not

    the software is installed, this file is not in System32.

    -If you need more information, you can post on the TechNet forums.

    TechNet forums-

    .

  • Error message: "the version of this file is not compatible with the version of Windows that you are using", when you try to run an old ms - based back program in Win-7 Ultimate 64 bit.

    Original title: program compatibility Application Applications App Apps game games Legacy Crash crashes Hang hangs

    I get this message when you try to run an old MS-DOS - based program in Win-7 Ultimate 64-bit.

    "The version of this file is not compatible with the version of Windows you are using. Check your computer system information to see whether you need a x 86 (32 bit) or x 64 (64-bit) version of the program and then contact the software publisher. »

    I understand that I am under a 64 bit OS, but is it possible to get this program to run? I was wondering if anyone has tips :)

    Hi Bcopeland,

    Thanks for posting your question in the Microsoft Community.

    Based on the information, you are trying to install and use an old ms - dos program based in Windows-7 Ultimate 64-bit.

    The problem is a software that was created for Windows 95, 98, and Windows XP has no way to work correctly with an operating system that didn't even exist when the software was written. However, the error message you get normally means that you have a 32-bit software that you are trying to install on a 64-bit system.

    You can check the compatibility of the program with Windows 7, in the Compatibility Center.

    Compatibility Center

    If the program is not compatible, then you try to install and run the program in compatibility mode.

    a. click right on the program.

    b. click Properties.

    c. click on the tab compatibility.

    d. Select run this program in compatibility mode and select Windows Vista or whatever to use the system, the program was executed successfully.

    Here is an article that gives you more information on this:

    Make older programs in this version of Windows

    If the problem persists, you can get in touch with the software vendor to see for the latest version of the program to use the same system of 64-bit Windows 7.

    Hope the helps of information.

    If you need assistance in the future to resolve any issues related to Windows, post your query and we will be happy to help you.

  • How to run four procedures, in order, by using anonymous block

    Hello

    I am trying to run four procedures, in order, by using anonymous block. If one of the procedure fails remaining should get executed. How can I achieve this?
    For example:
    BEGIN
    PROC1;
    Proc2; -Suppose that Proc2 will fail, it should not affect the execution of Proc3 and proc 4
    Proc3;
    Proc 4;
    END;

    Thank you!

    Hello

    Maybe this can help you:

    BEGIN
      begin
        Proc1;
      exception
        when others then
          dbms_output.put_line('proc1 ' || sqlcode || ' ' || sqlerrm);
      end;
      begin
        Proc2;
      exception
        when others then
          dbms_output.put_line('proc2 ' || sqlcode || ' ' || sqlerrm);
      end;
      begin
        Proc3;
      exception
        when others then
          dbms_output.put_line('proc3 ' || sqlcode || ' ' || sqlerrm);
      end;
      begin
        Proc4;
      exception
        when others then
          dbms_output.put_line('proc4 ' || sqlcode || ' ' || sqlerrm);
      end;
    END;
    

    In your case, it may be useful if your procedures have their own exception handlers, so they never fail. But then you need a sort of exception information that is displayed.

    concerning
    Kay

  • When I try to print from photoshop cc I get the message "the instruction at 0xb660643f referenced memory at 0 x 00000006. the memory could not be read. I'm running on Windows using Intel (R) Graphics 4600 8.1

    When I try to print from photoshop cc I get the message "the instruction at 0xb660643f referenced memory at 0 x 00000006. the memory could not be read. I run on Windows using Intel (R) Graphics 4600 8.1. Can someone help me with this?

    Hi Tanuj,

    Thanks for your reply. The problem seems to be a damaged printer driver. I tried to print from my laptop computer rather than my PC and that worked OK. I downloaded the latest driver for the Epson 3880 but then find that the print spooler has become invalid. When I restarted the print spooler, everything worked again and I'm able to print as usual.

    Concerning

    Gordon

    Gordon Gentles

    [email protected]

  • Download this message when I try to run Lightroom. Point procedure entry AgTransitCargo_pushTransitCargo could not be found in the AgKernel.dll dynamic link library - system: windows 7 64 bit is no error in the log file

    Download this message when I try to run Lightroom. The procedure entry point AgTransitCargo_pushTransitCargo could not be found in the AgKernel.dll dynamic link library

    system: windows 7 64-bit

    There is no error in the log file.

    no error in scannow at the command prompt.

    errore lightroom.jpg

    Hi Michela,

    Lightroom makes a call the the AGkernel.dll file, but the file isn't sure what to do because it can't find the line of code within himself to answer. This can happen for several reasons, that fall within these two broad categories: AGkernel.dll is damaged and must be repaired or AGKernel.dll version is incorrect and should be updated to the correct version.

    Here are some things you can do to fix the file:

    -Record again with Windows AGKernel.dll: https://support.microsoft.com/en-us/kb/249873

    -Windows repair: https://support.microsoft.com/en-us/kb/929833

    -Install all the updates that are available for Windows: Windows Installer updates

    -Uninstall and reinstall Lightroom

    Kind regards

    Tanuj

  • I tried several times to contact support, but have not been able to get well. I wanted to try the room light I use Capture 1 now. The Downloader or installer will load only if I "Run as Administrator" and then it crashes every time within a few secoun

    I tried several times to contact support, but have not been able to get well. I have a trial (try actually the second time), but are not yet able to test Lightroom/CC. I wanted to try the room light I use Capture 1 now.

    My question is this: the Downloader or installer will load only if I "Run as Administrator" and then it crashes every time in seconds. I even tried the Adobe application that will go well and remove all the remains of the previous software hoping that he would, but no solution. It will continue to act as his footstool, consumption of RAM, but do nothing else than the loop on the same screen. I have to force quit the program so that he could even respond. I'm a little confused on where to go with it. Thank you!

    Windows 10, 16g RAM, 4.7 GHZ 8-core AMD AMD R9 270 X

    Check your hosts file.

    help for that and other adobe.com sure common connection problems read, http://helpx.adobe.com/x-productkb/policy-pricing/activation-network-issues.html

  • I have CS6 Production Premium and speed category, I installed and when I try to run the program I need to sign up for the cloud.  I just want to use my version can help you or seated, me?

    I have CS6 Production Premium and speed category, I installed and when I try to run the program I need to sign up for the cloud.  I just want to use my version can help you or seated, me?

    I have stick thread regarding the CS6 and Cloud Creative Re: What's up with Adobe Application Manager CS6?

    and another, if you are confused enough, perhaps another angle my old CS6 now asking me to connect to the cloud

    and maybe he has your response a bit clearer how we prevent cloud creative resume my perpetual license CS6?

Maybe you are looking for

  • XBR65X800B digital audio out not working not

    Today, I received my new XBR65X800B and everything works fine. Except that when I want to use native applications, the audio output does not work. I can get audio through the TV speakers, but I want the audio to come through my bar of his home theate

  • Satellite P100-426 can't turn it off

    I bought this phone two months ago and I must say that I am very satisfied. But last week, it has been my first problem. All of a sudden the computer kept when I asked it to do but restarted each time. If I could only turn off on pressingt he power b

  • LM3S8962 Interface with a compass of Honeywell with SPI

    I have a number of questions regarding this. 1 I need a H to the compass to get a return to my position of output signal, but I don't have to do with a 1 d table. It is the most urgent issue, that I can't understand. Thank you

  • Microsoft Office 2003 updates are installation failed with the error.

    Unable to install the updates of Windows office 2003? Original title: Windows update cannot install Office 2003 updates / I have Win XP Professional SP3. I am tired

  • Search for files and folders

    Help instructions searching for files and folders said to click on START and then click on SEARCH - the problem is that I can't find NO SEARCH when I after I click START