Running command OS of PL/SQL: ORA-29532

Hi all

I have created a java program loaded in the database using loadjava utility and finally gave grant execute in public. Then do a wrapper function to call inside as below:

FUNCTION fn_OSCommand_Execute (STRING command)

RETURN NUMBER

IS

JAVA LANGUAGE

NAME 'OSCommand.Execute (java.lang.String) return java.lang.int;

Connected to SYS and gave the following gloves Scott using dbms_java

declare

v_key NUMBER;

Start

DBMS_JAVA. GRANT_PERMISSION ('SCOTT', 'SYS:java.io.FilePermission', '< < ALL_FILES > >', ' read, write, execute, delete, v_key);

DBMS_JAVA. GRANT_PERMISSION ('SCOTT', 'SYS:java.lang.RuntimePermission', 'readFileDescriptor', ", v_key);

DBMS_JAVA. GRANT_PERMISSION ('SCOTT', 'SYS:java.lang.RuntimePermission', 'writeFileDescriptor', ", v_key);

dbms_java.grant_permission ("SCOTT", "SYS:java.io.FilePermission", "c:\windows\system32\cmd.exe", "run", v_key);

COMMIT;

end;

When calling the function, I get the below error:

ORA-29532: Java call terminated by eception Java exception: java.security.AccessControlException: approval (java.io.FilePermission c:\windows\system32\cmd.exe run) has not has been granted to SCOTT. The PL/SQL to grant it is dbms_java.grant_permission ("SCOTT", "SYS:java.io.FilePermission", "c:\windows\system32\cmd.exe", "run")

I run on the platform of Windows7 & Oracle 12 c 64 bit version.

Waiting for all of your expert advice.

Yes, my Oracle server is installed on Windows 7.

In fact, the user (SCOTT) missed soome network ACL. I solved it by giving the connect, solve network ACL for the requested host as below:

BEGIN

DBMS_NETWORK_ACL_ADMIN. CREATE_ACL (acl-online 'dbserver.xml',

Description-online 'DB server ACL. "

principal-online "SCOTT."

IS_GRANT to-online true.

privilege of-online 'connect');

DBMS_NETWORK_ACL_ADMIN. ADD_PRIVILEGE (acl-online 'dbserver.xml',

principal-online "SCOTT."

IS_GRANT to-online true.

privilege-online "solve");

DBMS_NETWORK_ACL_ADMIN. ASSIGN_ACL (acl-online 'dbserver.xml',

host-online "xxxxxxxxxxxx");

END;

/

COMMIT;

Tags: Database

Similar Questions

  • ORA-00900 when you use the command COPY with dynamic SQL

    Helllo,
    I created the following procedure:

    create or replace procedure copyTable (pSourceTableOwner IN varchar2
    pSourceTableOwnerPasword IN varchar2
    pTargetTableOwner IN varchar2
    pTableName IN varchar2
    pDatabaseLink IN varchar2)
    as

    vStatement varchar2 (250): = null;

    Start

    vStatement: = "copy of". pSourceTableOwner | '/' || pSourceTableOwnerPasword | '@' || pDatabaseLink |
    "Insert" | pTargetTableOwner | '.' || pTableName | ' using select * from '. pTableName;

    immediately run vStatement;

    end;
    /

    The generated command (variable vStatement) looks like this:
    "Insert a copy of O_GLCEN/o_glcen@SELLENTW o_jh. "X_PLZ_CD_MERGED_CTIS using select * from X_PLZ_CD_MERGED_CTIS".

    When you call this procedure as "exec copyTable ('O_GLCEN', 'o_glcen', 'o_jh', 'X_PLZ_CD_MERGED_CTIS', 'SELLENTW');" the following lifts:

    FEHLER in line 1:
    ORA-00900: invalid SQL statement
    ORA-06512: at "SYSTEMTECHNIK". COPYTABLE", line 20
    ORA-06512: at line 1

    But when you call the command COPY directly from SQL prompt the statement runs without error.
    Is in general not possible to use the dynamic COPY with SQL command? If it is possible does anyone has an idea what I am doing wrong?

    Any help will be appreciated...

    Rgds
    JH

    I would like to use something like

    vStatement: = ' start in f (select * from ' | pSourceTableOwner |) '.' || pTableName | '@' || pDatabaseLink | Insert loop ') in ' | pTargetTableOwner | '.' || pTableName | "f-values; end loop; end; »
    immediately run vStatement;

  • PL/SQL: ORA-00904: invalid identifier (DG4ODBC 11.2.0.2 &amp; MySQL)

    I have a PL/SQL script, processing of information between Oracle and MySQL databases. My script runs perfectly with DG4ODBC 11.1.0.7. Then we went from Oracle 10.2.0 and 11.2.0.2 DG4ODBC. Now, if I run my script from command line Solaris love. / myscript.shl, I get the following errors:

    PL/SQL: ORA-00904: "cmswhit_moodle1." "" "" mdl_grade_grades "." finalgrade ": invalid identifier.

    PL/SQL: ORA-00904: "cmswhit_moodle1." "" "" mdl_question_states '. "the attempt": invalid identifier "

    The strange thing is that if I run the same query by cut and paste in sqlplus command line, the application works perfectly without any problems.

    What is the cause of this problem?

    Any help would be greatly appreciated.

    Jeffrey

    Hi Klaus,

    The problem has been resolved after I upgraded MySQL ODBC to a new version of 5.1.8 to 5.1.13.

    Summary of the problem and its solution:

    The problem: It seems that dg4odbc 11.2.0.2 requires a newer version of MyODBC. Previously, I used MyODBC 5.1.8, which ran into problems with dg4odbc 11.20.0.2.

    The Solution: After that I upgraded 5.1.13 MyODBC, my PL/SQL scripts all work.

    I need to point out that with that MyODBC 5.1.8, I can run queries and updates to SQL * more console, but now the PL/SQL scripts.

    I'm going to close this message.

    Once again, thank you and happy holidays.

    Jeffrey

  • Error upgrading repository 11.2.0.1 to 11.2.0.3 ORA-29532 + ORA-06512

    Hello

    Trying to upgrade repository to 11.2.0.3 after upgrading database at 11.2.0.3.

    New ORACLE_HOME for the 11.2.0.3 so, using upgarde instrauctions for this according to upgrade guide.

    Get the messgae below when executed

    reset_repository. SQL

    ERROR on line 1:
    ORA-29532: Java completed by eception Java exception appeal:
    java.sql.SQLException: the file
    Oracle/bip/DB11G/Product/11.2.0/dbhome_1/OWB/bin/admin/rtrepos. Properties
    is not available or has not been correctly created on the server prdbus01. If
    the file does not exist or if the owner of the database (normally the 'oracle' user) don't
    not have the required file permissions or if the file was not properly
    created so that the file can be re-created by running the SQL code * more script
    Oracle/bip/DB11G/Product/11.2.0/dbhome_1/OWB/RTP/SQL/reset_repository. SQL (en
    a the file RAC environment must be copied manually on each server that is used
    for OWB). Otherwise if you use a base of 10.2 instance data, then launch
    SQL * more script
    Oracle/bip/DB11G/Product/11.2.0/dbhome_1/OWB/UnifiedRepos/reset_owbcc_home.Sql.
    The exception that caused this failure is
    "java.security.AccessControlException (Permission (java.io.FilePermission".
    Oracle/bip/DB11G/Product/11.2.0/dbhome_1/OWB/bin/admin/rtrepos. Properties
    writing) has not been granted to OWBSYS. PL/SQL to grant this
    ORA-06512: at "OWBSYS. WB_RTI_UTIL', line 287
    ORA-06512: at "OWBSYS. WB_RT_SCRIPT_UTIL', line 885
    ORA-06512: at line 4 level
    -- dbms_java.grant_permission('OWBSYS','java.io.FilePermission', path||'\owb\bin\admin\rtrepos.properties', 'read,write');
    dbms_java.grant_permission('OWBSYS','java.io.FilePermission', '/oracle/BIP/db11g/product/11.2.0/dbhome_1/owb/bin/admin/rtrepos.properties', 'read,write');
    
  • ORA-29532: Java call terminated by eception Java exception:... NoSuchMethodEr

    Hi all

    I got this error: ' * ORA-29532: Java call terminated by eception Java exception: java.lang.NoSuchMethodError * "when I run a Java function I in Oracle.

    I had two methods in a class. (I used Eclipse to develop)

    public class StringHelper {}
    public static String wordCap (String source) {}
    int len;
    Char [] tanks;
    Len = source.length ();
    Boolean capnext;
    String src;
    char onechar;
    If (len == 0) {}
    return the source;
    }
    SRC = source.toLowerCase ();
    tanks = src.toCharArray ();

    capnext = true;
    for (int i = 0; i < len; i ++) {}
    OneChar = characters;
    String Schär = Character.toString (onechar);
    If (! isAlpha (Schär)) {}
    The following letter should be capitalized.
    capnext = true;
    } else {if (capnext)
    Capitalized this alphabetical character.
    the characters [i] = Character.toUpperCase (onechar);
    The following character should not be capitalized.
    capnext = false;
    }
    }
    String res = new String (tanks);
    return res;
    }

    public static String quote (String source) {}
    {if (source. IsEmpty())}
    return the source;
    }
    String newsrc = '-' "+ source + ' \;"
    return newsrc;
    }
    }

    Load the Java in Oracle, I used:

    loadjava-username/password user name - address StringHelper.class

    Check the status of the compilation and load, in SQL * more: (I use Oracle 10 g)

    SQL > select object_name, object_type, status
    2 from user_objects where object_type like '% of JAVA;

    OBJECT_NAME
    ---------------------------
    OBJECT_TYPE STATUS
    ------------------- -------
    OneStringHelper
    VALID JAVA CLASS

    Created the wrapper:

    CREATE OR REPLACE FUNCTION ONEADM. FN_WORDCAP(WORDS IN VARCHAR2) RETURN VARCHAR2
    IN THE JAVA LANGUAGE
    NAME "java.lang.String StringHelper.wordCap (java.lang.String) return;
    /

    CREATE OR REPLACE FUNCTION ONEADM. FN_QUOTE(QUOTEW IN VARCHAR2) RETURN VARCHAR2
    IN THE JAVA LANGUAGE
    NAME "java.lang.String StringHelper.quote (java.lang.String) return;
    /

    The two functions created successfully.

    Then, finally, by calling the function:

    SQL > SET SERVEROUTPUT ON
    SQL > dbms_java.set_output CALL (50);

    The FN_WORDCAP function have no error:
    SQL > SELECT FN_WORDCAP('my test') FROM DUAL;

    FN_WORDCAP ('MYTEST')
    -------------------------------------------------------
    My Test

    But, the FN_QUOTE function:
    SQL > SELECT FN_QUOTE ('mine') FROM DUAL;
    SELECT FN_QUOTE ('mine') OF DOUBLE
    *
    ERROR on line 1:
    ORA-29532: Java completed by eception Java exception appeal:
    java.lang.NoSuchMethodError

    Are there measures, the program installation or something I missed?

    Thanks in advance for your help :)

    Hello

    [java.lang.String #isEmpty (): http://java.sun.com/javase/6/docs/api/java/lang/String.html#isEmpty ()] is available since Java 1.6. Version Java from Oracle last is 1.5 to 11 g. You should not use this method.

    And BTW, why do you need this StringHelper?

  • Error message when I run delete the query in SQL Server 2008.

    Error message when I run delete the query in SQL Server 2008 SP3.

    Error message:

    MSG 0, level 11, State 0, line 0
    A serious error occurred on the current command.  The results, if any, should be discarded.

    I never got any problem since 5 years.

    Please let me know what is the cause of the problem.

    You can get a response better/faster if repost you your question in the instances of SQL Server dedicated from Microsoft here:

    http://social.technet.microsoft.com/Forums/en-us/category/sqlserver .

    Thank you.   :)

    (I'm sorry, but I can't move this thread for you because the two forums are working on separate platforms)

  • PL/SQL: ORA-00904: invalid identifier

    Hello

    Run the script after and encountered the error.

    SQL > create or replace FUNCTION p_CQTicketUsu

    () 2

    3 v_TicketUserID IN NUMBER by DEFAULT NULL,-it's the [CQTicketUsers]. TicketUserID generated on update

    4 v_TicketID IN NUMBER by DEFAULT NULL,-it's the [CQTicketUsers]. TicketID update

    5 v_AdminUserID IN NUMBER by DEFAULT NULL,-it's the [CQTicketUsers]. AdminUserID update

    6 v_TicketUserTypeID IN NUMBER by DEFAULT NULL - this is the [CQTicketUsers]. TicketUserTypeID update

    7)

    8 RETURN NUMBER

    9, ACCORDING TO

    10 v_sys_error NUMBER: = 0;

    11 v_ERRSQL NUMBER (10,0);

    12 v_UpdCount NUMBER (10,0);

    13

    BEGIN 14

    15

    16 UPDATE CQTicketUsers

    17 SET v_TicketUserID = TicketUserID,

    18 v_TicketID = TicketID,

    19 v_AdminUserID = AdminUserID,

    20 v_TicketUserTypeID = TicketUserTypeID

    21 WHERE TicketUserID = v_TicketUserID;

    22 v_ErrSQl: = v_sys_error;

    23 v_UpdCount: = SQL % ROWCOUNT;

    24 IF v_ErrSQL <>0 THEN

    25 RETURN-1;

    26 END IF;

    27 IF v_Updcount < 1 THEN

    28 RETURN - 2;

    29 END IF;

    30 RETURN 0;

    ENDS 31;

    32.

    WARNING: Function created with compilation errors.

    SQL > show error

    Errors for the P_CQTICKETUSU FUNCTION:

    16/4 PL/SQL: statement ignored

    20/11 PL/SQL: ORA-00904: "V_TICKETUSERTYPEID": invalid identifier

    Please note, I said v_TicketUserTypeID to the #6 line. Advice kindly.

    Kind regards

    Ballanger

    It's going to be kind of embarrassing, but you have the update parameters reversed. It should be

    TicketUserTypeID = v_TicketUserTypeID

    and is not

    v_TicketUserTypeID = TicketUserTypeID

    You get this error for database columns not only for pl/sql variables.

  • Error (21,100): PL/SQL: ORA-00997: illegal use of the LONG data type

    CREATE or REPLACE (name in varchar2) procedure Compress_tab_partition
    is
    last_mnth_var varchar2 (8);
    curr_mnth_var varchar2 (8);
    number of last_mnth;
    number of curr_mnth;
    last_partition varchar2 (8);
    high_val varchar2 (4000);
    Start

    Select to_char (add_months (trunc (sysdate, 'MM'),-1), 'YYYYMM') | ' 00' in the double last_mnth_var;
    Select to_char (sysdate, 'YYYY') | TO_CHAR (sysdate, 'mm') | ' 00' in the double curr_mnth_var;
    Select to_number (last_mnth_var) in the double last_mnth;
    Select to_number (curr_mnth_var) in the double curr_mnth;

    Dbms_output.put_line ('Compression of GOLDMGR Table scores.' | table-name |) "to go". ») ;
    Dbms_output.put_line(' ');

    / * Step 1 - identify the name of the partition of the specified table must be compressed * /.
    Select high_value from high_val from user_tab_partitions where table_name = table-name;
    Select nom_partition into last_partition from user_tab_partitions where table_name = table-name and high_value = rtrim (high_val);

    / * Step 2 - Alter partition table to compress * /.

    run immediately "ALTER TABLE GOLDMGR." | table_name | ' CHANGE THE PARTITION '. last_partition | "COMPRESS by low query";

    / * Step 3 - Index rebuild step * /.

    I'm in (select index_name in user_indexes where table_name = table-name)
    loop
    run immediately "ALTER INDEX GOLDMGR." | i.index_name |' REBUILD ";
    end loop;

    Dbms_output.put_line (' COMPLETED: compress the Table partitions change.) ") ;

    end;
    /

    I'm getting an error like: Error (21,100): PL/SQL: ORA-00997: illegal use of the LONG data type

    Please resolve.

    HIGH_VALUE datatype is LONG. You may not use for a long TIME in WHERE clause expressions. You need to loop through the partitions by selecting HIGH_VALUE and then comparing. Secondly, there is no need to select double to calculate expressions. For example:

    Select to_char (add_months (trunc (sysdate, 'MM'),-1), 'YYYYMM') | ' 00' in the double last_mnth_var;

    should be replaced by

    last_mnth_var: = to_char (add_months (trunc (sysdate, 'MM'),-1), 'YYYYMM') | ' 00'.

    and there is no need to add_months here:

    last_mnth_var: = to_char (trunc (sysdate, 'MM') - 1, "YYYYMM"). ' 00'.

    But the main question is simply ALTER TABLE MODIFY PARTITION COMPRESS allows compression but does not compress. You must issue ALTER TABLE MOVE PARTITION COMPRESS:

    SQL > create table tbl (n) partition by range (n)
    2 (partition p1 values less than (maxvalue))
    3. Select lpad('X',4000,'X') from dual connect by level<=>
    4.

    Table created.

    SQL > select bytes
    2 from WHERE user_segments
    3 where nom_segment = 'TBL '.
    4 and nom_partition = 'P1 '.
    5.

    BYTES
    ----------
    830472192

    SQL > alter table tbl
    2. change the partition p1 compress
    3.

    Modified table.

    SQL > select bytes
    2 from WHERE user_segments
    3 where nom_segment = 'TBL '.
    4 and nom_partition = 'P1 '.
    5.

    BYTES
    ----------
    830472192

    SQL > alter table tbl
    2. move the partition p1 compress
    3.

    Modified table.

    SQL > select bytes
    2 from WHERE user_segments
    3 where nom_segment = 'TBL '.
    4 and nom_partition = 'P1 '.
    5.

    BYTES
    ----------
    8388608

    SQL >

    SY.

  • The simple geometry Gets the error ORA-29532 on all calls SDO_GEOM

    Hi all

    I have a single point in a table in such a way that the query:
    select SDO_GEOM.VALIDATE_GEOMETRY(geomObj, 0.05) from testvalid;
    /* Returns */
    SDO_GEOM.VALIDATE_GEOMETRY(GEOMOBJ,0.05)
    'TRUE'
    However the query:
    select SDO_GEOM.VALIDATE_GEOMETRY_with_context(geomObj, 0.05) from testvalid;
    Receives the following error message:
    ORA-29532: Java call terminated by uncaught Java exception: java.lang.NumberFormatException: empty String
    ORA-06512: at "MDSYS.SDO_3GL", line 658
    ORA-06512: at "MDSYS.SDO_GEOM", line 519
    ORA-06512: at "MDSYS.SDO_GEOM", line 558
    ORA-06512: at line 1
    The data itself are a unique SDO_POINT_TYPE:
    select GEOMOBJ from testvalid;
    /* Returns: */
    GEOMOBJ
    '(3001, , (174.092329032787, 129.420551704918, -71.2857142857142), , )'
    I think the problem is something to do with the accuracy of the stored X, Y and Z values in point because if I'm running the following:
    update TESTVALID set GEOMOBJ.sdo_point.x = cast(GEOMOBJ.sdo_point.x as number(8,3));
    select SDO_GEOM.VALIDATE_GEOMETRY_with_context(geomObj, 0.05) from testvalid;
    /* Returns: */
    SDO_GEOM.VALIDATE_GEOMETRY_WITH_CONTEXT(GEOMOBJ,0.05)
    'TRUE'
    Similarly, running a direct comparison of an object made in the textual representation of the point fly works fine:
    select SDO_GEOM.VALIDATE_GEOMETRY_with_context("MDSYS"."SDO_GEOMETRY"(3001,NULL, "MDSYS"."SDO_POINT_TYPE"(174.092329032787,129.420551704918,-71.2857142857142),NULL,NULL), 0.005) from dual;
    /* Returns */
    SDO_GEOM.VALIDATE_GEOMETRY_WITH_CONTEXT("MDSYS"."SDO_GEOMETRY"(3001,NULL,"MDSYS"."SDO_POINT_TYPE"(174.092329032787,129.420551704918,-71.2857142857142),NULL,NULL),0.005)
    'TRUE'
    Note that I only noticed this problem after upgrade to v11 v11 R2. In addition, the same error ORA-29532 happens when executing calls SDO_GEOM. [x] function such as SDO_GEOM. DISTANCE(). The problem is not limited to the geometries of type SDO_POINT_TYPE, but the problem only happens on some geometry entries in my database. It is reproducible in that the same geometry will continue to fail and the only solution I found is to try to round up its precision in x, y or z. I don't know how to round the precision for the types of SDO_POINT_TYPE easily, so one of my problems is that I find myself with a any dispersion of other geometries that I can query is no longer in space.

    The data itself was inserted from MATLAB (which connects using drivers of ODBC Oracle Java v11) which converts my details in Java.Math.BigDecimal and binds to a prepared statement oracle.
    It is possible that I consider that the insertion is made from different computers, some of which are 64-bit computers. Maybe somehow these machines are pumping in too large of a precision coordinates for the geometry of the oracle?

    Any help would be great I am quite lost here.
    If the precision is indeed the problem, anyone know how can I cut these surplus values after the decimal point for all types of geometry?


    Thank you
    Sven.

    It is only related to the version of the server.
    So once the database is 11.2, that corruption won't happen.

  • Error (20.22): PL/SQL: ORA-00942: table or view does not exist

    I get currently getting an error when I try and insert into a table of a different pattern of my stored procedure:
    Error (20.22): PL/SQL: ORA-00942: table or view does not exist

    I am explicitly calling the table with the name of the schema that is infront

    INSERT INTO SAPSR3. ZTREC_NAME_TYPE
    (
    MASTER_ID,
    NAME_TYPE,
    FAMILY_NAME,
    FIRST NAME,
    MIDDLE_NAME,
    TITLE
    )
    VALUES
    (
    In_MasterID,
    In_NameType,
    In_FamilyName,
    In_FirstName,
    In_MiddleName,
    In_Title
    );

    Only, I get this error when I try to compile my stored procedure. If I try this insert not within a stored procedure (for example, an empty script) it works perfectly.

    Can someone tell me what Im doing wrong?

    Thank you.

    Hello

    Looks like you (the owner of the procedure) have privileges on that table only through a role.
    Roles do not count in the stored procedures created with AUTHID OWNER (which is the default).

    Or the other
    (1) user SAPSR3 have the privileges needed directly at you (or public), or
    (2) change the procedure so that it runs with the privileges of the caller, adding AUTHID CURRENT_USER after the list of arguments, but before the keyword IS (AS os) like this:

    CREATE OR REPLACE PROCEDURE     foo
    (     x     IN     NUMBER
    )
    AUTHID CURRENT_USER
    IS ...
    
  • Error: PL/SQL ORA - 00932 data type incompatible when using the value of LONG type

    Hello:

    I use a PL/SQL job script where I use a value of type LONG in a cursor. When I run it, I get:

    Incompatible data type of PL/SQL ORA-00932: expected NUMBER got LONG
    set serveroutput ON SIZE 1000000
    set heading off                
    set feedback off                
    set trimspool off               
    set echo off 
    set term off                   
    set pagesize 0         
    
    SPOOL &so_outfile;
    
    
    
    
    DECLARE
      v_data_file          varchar2(30);
     --   v_sch_code            varchar2(10);
     --   v_instance_name       varchar2(10);
        ws_path            payroll.pybutfl.pybutfl_utl_file_path%TYPE; 
        v_data_line           VARCHAR2 (2000)                              := NULL;
        fhandle_o             UTL_FILE.file_type;
        v_line_count          NUMBER                                       := 0;
        v_selected_count      NUMBER                                       := 0;
        v_error_count         NUMBER                                       := 0;
        v_written_count       NUMBER                                       := 0;
        v_error_text          VARCHAR2 (50)       := ' AMACONF_ERR: Unable to write the line. ';
        v_errm                VARCHAR2 (255);
        v_sqlerrm             VARCHAR2 (255);
        v_payment_type        VARCHAR2(10);
    
    
    CURSOR C1 IS
    select RTRIM
          ( 
            AMRCONF_PIDM_ERR            ||'|'||
            AMRCONF_IDEN_CODE_ERR       ||'|'||
            AMRCONF_ENTRY_DATE_ERR      ||'|'||
            AMRCONF_CONFID_IND_ERR      ||'|'||
           *AMRCONF_COMMENT_ERR        ||'|'||*
            AMRSUBJ_SUBJ_CODE_ERR       ||'|'||
            ERROR_CODE                  ||'|'||
            ERROR_CODE_TEXT                 ) data_line
            from WSUALUMNI.AMRCONF_ERR;
    
    
    
    BEGIN
    
    
    DBMS_OUTPUT.put_line ('Program Generating AMACOMT Mass Update Error File ');
    IF UTL_FILE.is_open (fhandle_o)
        THEN   
       UTL_FILE.fclose (fhandle_o);
    END IF;
    
    /* Name The File Here */
    v_data_file := ('Amaconf_error.txt');
    
    
    
    SELECT RTRIM (pybutfl_utl_file_path)
          INTO ws_path
          FROM payroll.pybutfl;
          
          fhandle_o := UTL_FILE.fopen (ws_path, v_data_file, 'w');
          DBMS_OUTPUT.put_line ('UTLFILE file for this run is: ' || ws_path||'/'||v_data_file);
          v_written_count := 0;   
    
    FOR c1_rec IN C1 LOOP
          BEGIN
            v_selected_count := v_selected_count + 1;
            v_data_line := rtrim(c1_rec.data_line);
            UTL_FILE.put_line (fhandle_o, v_data_line);
            v_written_count := v_written_count + 1;
        EXCEPTION
         WHEN OTHERS
          THEN
           DBMS_OUTPUT.put_line (v_error_text);
           v_error_count := v_error_count + 1;
        END;
    END LOOP;
    
         DBMS_OUTPUT.put_line ('Number of Records Selected: ' || v_selected_count);
         DBMS_OUTPUT.put_line ('Number of Records Written: ' || v_written_count);
    
          IF UTL_FILE.is_open (fhandle_o)
          THEN
             UTL_FILE.fclose (fhandle_o);
          END IF;
    
    END;
    /
    
    SPOOL OFF;
    If I comment on the ' AMRCONF_COMMENT_ERR |'| ' | ' line, then the script works fine. The table has been created as:
    Create Table WSUALUMNI.AMRCONF_ERR
    (
        AMRCONF_PIDM_ERR             NUMBER (8)    NOT NULL,
        AMRCONF_IDEN_CODE_ERR        VARCHAR2(5)   NOT NULL,
        AMRCONF_ENTRY_DATE_ERR       DATE          NOT NULL,
        AMRCONF_CONFID_IND_ERR       VARCHAR2(1),
        AMRCONF_COMMENT_ERR          LONG,          
        AMRSUBJ_SUBJ_CODE_ERR        VARCHAR2(5)   NOT NULL,
        ERROR_CODE                   VARCHAR2(12)  NOT NULL,
        ERROR_CODE_TEXT              VARCHAR2(50)  NOT NULL
    ); 
    I don't understand what the problem here is in the script.

    Hello
    Feew suggestions
    (1) LONG is an obsolete type so if possible start working on this column change
    (2) CLOB will be your favorite type of data on long.
    (3) you cannot use RTRIM on long.

    Here's a very quick example

    drop table h
    create table h (x long,y varchar2(100))
    select rtrim(x) from h
    select rtrim(y) from h
    

    Solution:
    [http://www.oracle.com/technology/oramag/code/tips2003/052503.html]

    need to better implement the clob data type and

    drop table h
    create table h (x clob,y varchar2(100))
    select  dbms_lob.substr( x, 4000, 1 ) from h
    select rtrim(y) from h
    

    See you soon!
    Bobin

  • PL/SQL: ORA-00934: Group feature is not allowed here

    Hello

    I write a PL/SQL procedure. The structure is like:

    SET SERVEROUTPUT ON;
    CREATE or REPLACE procedure abc

    IS
    v_total_ip_rec number (14);
    v_total_op_rec number (14);
    v_total_rec number (14);


    BEGIN
    SELECT SUM (CASE
    WHEN < condition 1 >
    THEN 1
    0 OTHERWISE
    END
    ) in v_total_ip_rec.
    SUM (CASE
    WHEN < condition 2 >
    THEN 1
    0 OTHERWISE
    END
    ) in v_total_op_rec.
    SUM (1) in v_total_rec
    OF A, B
    WHERE A.Col1 = B.Col1;

    EXCEPTION
    WHILE OTHERS THEN
    raise_application_error (-20001,' an error has occurred - ' |) SQLCODE |' - ERROR - ' | SQLERRM);
    END;


    When I run this procedure it gives me following error:
    "PL/SQL: ORA-00934: Group feature is not allowed here."

    Someone has an idea?

    Any help would be appreciated.

    Thank you.

    Should I have any special role?

    Have you checked if synonyms exist for tables?
    Please check in this order:

    #1-synonymes appropriate
    #2-appropriate privileges
    #3-appropriate roles

  • How can I execute commands stored in a sql file

    Hello

    I have a problem with the execution of one or two lines of a file after you save SQL and then brought back in SQL Developer. The sequence of what I do is

    By selecting file > new > layer database > SQL file opens a file to me than I can name. In the window that appears, I can get into SQL, and then click the green arrow to run a line or I can run all of the script. I choose the database connection to use, and it works fine.

    Now my problem is that I have after registration of this file and the setting again in SQL Developer I lose out on all the features that I had when the file was opened before.

    Save the file, exit, start SQL Developer and select file > open. I choose the file and unlike before, it appears only in a regular window that does not allow me to run. I can't just choose a line to run all I can do is go run on the menu and run the entire file.

    Is it possible that I can make in the file and opened it in a window which allows me to run commands as I could when I first created the file.

    Thank you

    Richard

    Published by: user8662445 on August 29, 2009 05:21

    >

    My question now is why it does not add a 'sql' file name? I was in the box to name a new sql file. It allowed me to enter a file name, but then instead of adding "sql" in the extension he just that added file name and does not itself give an extension.

    Anyone who has tried this? Looks like a very unusual thing to do. I've never seen a request which just added "sql" in the name of the file when it should have given the file extension ".sql".

    I have never tried before. I usually use "Save as" to a spreadsheet.

    I just tried now and I can reproduce your problem. This is clearly a bug. If you have a support contract, you can trigger a SR in metalink, hope also one of here development team picks it up.

  • do not appear my "RUN COMMAND" under Xp in startup items

    I need to recover the option "Run command" in my list items in the start menu?  How should I do?

    Hi GermanTrade,

    You can follow these steps and check if it helps.

    a. right-click on the Start button, and then click Properties to open the window "Taskbar and Start Menu Properties".

    b. click "Customize" to open the "Customize Start Menu" window.

    c. click on the "Advanced" tab

    d. in the list of "Items on the start menu", check the box "run the command.

    e. click 'OK' to close the window "Customize Start Menu", then "OK" to exit the "Taskbar and Start Menu Properties" window.

    Hope the helps of information.

    Please post back and we do know.

  • How to restrict the running command prompt?

    How to restrict the running command prompt?

    I already know the method: HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\System DisableCMD: 2

    but, but, it is possible to change reactivate cmd used much the system tool software

    So I want to deny the change of registry value by the software used, I changed all permissions to the registry [System] refusal keys with my account.

    but after a modified registry key permissions denied, disableCmd was inactivated more.

    It is impossible that the two parameter [disablecmd: dword = 2] and [{System} lock keys: administrator of the deny all permissions in my account]?

    This issue is beyond the scope of this site which is for the consumer to related issues.
    To ensure that you get a proper answer, ask either on the Technet site, if it is a type of Pro problem, or MSDN if it's related to the developer

Maybe you are looking for

  • Each recall requires a Date

    I used to be able to set a reminder date.  Now if I do not have a date, the application puts an in.  I was used to be able to reorder reminders in the list, but that seems to have disappeared now.  And I tried to delete a reminder, but cannot find a

  • 548XX

    I have a Agilent 54846 extended B who was orphaned at my company by representation COMPUTER prohibiting everything except Windows 7 computers on our net. Unfortunately this scope runs on Windows 98 Second edition, and there is NO WAY to upgrade to Wi

  • DVD windows media player

    Windows media player cannot find son decoder or the windows media player, a device is emdomagee

  • Unable to hear sound

    I am not able to hear the sound of my laptop speaker and headphones. When I try to test, the error I get is "did not play the test tone. Also when I try to play a song, he's not playing the song. Please help me in this regard. I installed Vista Home

  • Licenses for the software HP Smartscan for mulitple devices

    Dear Forum, I have an old 7800 scanner that I want to share (with a USB switch), will it take additional licenses for the Smartscan software for other devices? - and if so please could provide you a room code I can order. Thank you very much.