Using DBMS_SQL getting ORA-29255

Sort of new to DBMS_SQL - as I've been using NDS for almost everything to this point.
However - I have a situation where I'm selecting data that requires a predicate of multiple values for a single column (i.e. column in (:v1)) where :v1 is a list of values. I was using bind_array to set the values for :v1. However - I get the error above.
The SQL returns mutiple rows so - define array is being used to indicate what column should be returned to what array.
I understand based on the error message that they can't be used together. So- my question is - when using a SQL statement that requires "columnA IN (multiple_values)" how are you supposed to bind those using DBMS_SQL?
Any help is appreciated!!

Thanks... Code is below...
You can see where the vspccat is a predicate and - we're trying to get the multiple values 'bound' to the SQL. However - the sql also returns multiple rows (hence the 'define array' to get the return values).
We're using DBMS_SQL over NDS simply because (as isn't illustrated in the example below - which I was using just to get the concept working in an example to use moving forward with the actual code I will need to write) I'm needing to use multiple varrying predicates depending on the situation and - this is a cleaner way to handle that - rather than tracking what's been dynamically written and - handling it with every possible scenario in many different executes (with the different 'using's' attached).
Your help is appreciated!
DECLARE
col1    NUMBER(9,0);
col2    VARCHAR2(15);
col3    VARCHAR2(15);
col4    VARCHAR2(60);
col5    DATE;
col6    DATE;
col7    VARCHAR2(6);
col8    NUMBER(9,0);
col9    VARCHAR2(1);
spc_cat_array   DBMS_SQL.VARCHAR2_TABLE;
col1_array      DBMS_SQL.NUMBER_TABLE;
col2_array      DBMS_SQL.VARCHAR2_TABLE;
col3_array      DBMS_SQL.VARCHAR2_TABLE;
col4_array      DBMS_SQL.VARCHAR2_TABLE;
col5_array      DBMS_SQL.DATE_TABLE;
col6_array      DBMS_SQL.DATE_TABLE;
col7_array      DBMS_SQL.VARCHAR2_TABLE;
col8_array      DBMS_SQL.NUMBER_TABLE;
col9_array      DBMS_SQL.VARCHAR2_TABLE;
p_spc_cat   VARCHAR2(15) := '03';
p_status    VARCHAR2(6)  := 'APPROV';
src_cur  INTEGER;
dest_cur INTEGER;
ignore   INTEGER;
fdbk     INTEGER;
l_sql   VARCHAR2(1000);
dest_rec    VARCHAR2(500);
BEGIN
    spc_cat_array(1) := '03';
    spc_cat_array(2) := '09';    
    spc_cat_array(3) := '35';
    l_sql := ' SELECT *' ||
                  ' FROM (SELECT maint_id, NULL AS ica_price_rule, spc_category, description,' ||
                               ' effective_date, term_date, status,' ||
                               ' seq_ica_spc_pr_whole AS sequence_id, update_type' ||
                          ' FROM ica_spc_pr_whole_hdr_wrk' ||
                            ' WHERE spc_category IN (:vspccat)' ||
                            ' AND status = :vstatus  ' ||
                            ' AND term_date IS NULL' ||
                         ' UNION ALL' ||
                        ' SELECT NULL AS maint_id, NULL AS ica_price_rule, spc_category,' ||
                               ' description, effective_date, term_date, status,' ||
                               ' seq_ica_spc_pr_whole AS sequence_id, NULL AS update_type' ||
                          ' FROM ica_spc_pr_whole_hdr live'  ||
                            ' WHERE spc_category IN (:vspccat)' ||
                            ' AND status = :vstatus  ' ||
                            ' AND term_date IS NULL' ||
                           ' AND NOT EXISTS (SELECT spc_category' ||
                                             ' FROM ica_spc_pr_whole_hdr_wrk wrk' ||
                                            ' WHERE wrk.spc_category = live.spc_category)) a';
    -- open cursor on source table
  src_cur := dbms_sql.open_cursor;
  -- parse the SELECT statement
  dbms_sql.parse(src_cur, l_sql, dbms_sql.NATIVE);
  -- Bind Variables
--  DBMS_SQL.BIND_VARIABLE (src_cur, ':vspccat', p_spc_cat);
  DBMS_SQL.BIND_ARRAY (src_cur, ':vspccat', spc_cat_array);
  DBMS_SQL.BIND_VARIABLE (src_cur, ':vstatus', p_status);
  -- define the column type
  dbms_sql.define_array(src_cur, 1, col1_array, 5, 1);
  dbms_sql.define_array(src_cur, 2, col2_array, 5, 1);
  dbms_sql.define_array(src_cur, 3, col3_array, 5, 1);
  dbms_sql.define_array(src_cur, 4, col4_array, 5, 1); 
  dbms_sql.define_array(src_cur, 5, col5_array, 5, 1);
  dbms_sql.define_array(src_cur, 6, col6_array, 5, 1);
  dbms_sql.define_array(src_cur, 7, col7_array, 5, 1);
  dbms_sql.define_array(src_cur, 8, col8_array, 5, 1);
  dbms_sql.define_array(src_cur, 9, col9_array, 5, 1);
  ignore := dbms_sql.execute(src_cur);
  if dbms_sql.fetch_rows(src_cur) > 0  then
          dbms_sql.column_value( src_cur, 1, col1_array);
          dbms_sql.column_value( src_cur, 2, col2_array);
          dbms_sql.column_value( src_cur, 3, col3_array);
          dbms_sql.column_value( src_cur, 4, col4_array);
          dbms_sql.column_value( src_cur, 5, col5_array);
          dbms_sql.column_value( src_cur, 6, col6_array);
          dbms_sql.column_value( src_cur, 7, col7_array);
          dbms_sql.column_value( src_cur, 8, col8_array);
          dbms_sql.column_value( src_cur, 9, col9_array);         
      end if;
    dbms_output.put_line(col3_array(1));
  dbms_sql.close_cursor(src_cur);
end;

Similar Messages

  • While creating DB using DBCA getting ORA-27102: out of memory in Linux

    Hi All,
    I am working on 11.2.0.3 oracle Redhat linux. I am getting error "ORA-27102: out of memory" while creating a new database using dbca
    Below are the DB ans OS details. Please check it and let me know what i need to do to overcome this issue.
    SQL> select * from v$version;
    BANNER
    Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
    PL/SQL Release 11.2.0.3.0 - Production
    CORE 11.2.0.3.0 Production
    TNS for Linux: Version 11.2.0.3.0 - Production
    NLSRTL Version 11.2.0.3.0 - Production
    $uname -a
    Linux greenlantern1a 2.6.18-92.1.17.0.1.el5 #1 SMP Tue Nov 4 17:10:53 EST 2008 x86_64 x86_64 x86_64 GNU/Linux
    $cat /etc/sysctl.conf
    # Controls the maximum shared segment size, in bytes
    kernel.shmmax = 68719476736
    # Controls the maximum number of shared memory segments, in pages
    kernel.shmall = 4294967296
    kernel.shmall = 2097152
    kernel.shmmax = 4294967295
    kernel.shmmni = 4096
    kernel.sem = 250 32000 100 128
    net.core.rmem_default = 4194304
    net.core.wmem_default = 262144
    net.core.rmem_max = 4194304
    net.core.wmem_max = 1048576
    fs.file-max = 6815744
    fs.aio-max-nr = 1048576
    net.ipv4.ip_local_port_range = 9000 65500
    $free -g
    total used free shared buffers cached
    Mem: 94 44 49 0 0 31
    -/+ buffers/cache: 12 81
    Swap: 140 6 133
    $ulimit -l
    32
    $ipcs -lm
    Shared Memory Limits
    max number of segments = 4096
    max seg size (kbytes) = 4194303
    max total shared memory (kbytes) = 8388608
    min seg size (bytes) = 1
    Also created a trace file under trace loction and it suggesting to changes shm parameter value. but i am not sure which parameter (shmmax or shmall) and value i need to modify.
    below are trace file info
    Trace file /u02/app/oracle/diag/rdbms/beaconpt/beaconpt/trace/beaconpt_ora_9324.trc
    Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    ORACLE_HOME = /u02/app/oracle/product/11.2.0.3
    System name: Linux
    Node name: greenlantern1a
    Release: 2.6.18-92.1.17.0.1.el5
    Version: #1 SMP Tue Nov 4 17:10:53 EST 2008
    Machine: x86_64
    Instance name: beaconpt
    Redo thread mounted by this instance: 0 <none>
    Oracle process number: 0
    Unix process pid: 9324, image: oracle@greenlantern1a
    *** 2012-02-02 11:09:53.539
    Switching to regular size pages for segment size 33554432
    Switching to regular size pages for segment size 4261412864
    skgm warning: ENOSPC creating segment of size 00000000fe000000
    fix shm parameters in /etc/system or equivalent
    Please let me what are the kernel parameter values i need to chage to work this.
    Thanks in advance.

    Yes it is same question, but i didn't have any solution there and still looking for some help. the solution it was provided in the last post is not working and getting the same error even with less thn 20% of memory. Please let me know how to overcome this issue.
    Thanks

  • Configuring Email Server, using imconfig - getting ora-01017

    Hi
    I've installed RDBMS 8.1.7 and Email Server 5.2.
    When I run imconfig and get to the sceen that prompts for my tns connectsting, sy and system password, I get an "ora-01017 Invalid username/password error".
    I've tested the password and all work fine.
    I've gone as far as enabling all tracing on the database (sql_trace=true), but I don't see any trace files being created by an attempt to connect ot the database.
    Any Ideas?
    Werner Adams

    Swapnil M Kapote wrote:
    Hi Srini,
    OS - Windows7
    EBS - R12.1.3
    Database - 11g
    Win 7 is not a certified platform for installing EBS.
    >
    Following are the contents of concurrent log.
    Oracle error
    ORA-01017: invalid username/password; logon denied
    in "..."
    on line 0 of .
    /home/SSMY1/apps/apps_st/appl/fxitss/ssont/12.0.0/bin/SS_ALC_FILE_DAEMON
    Program exited with status 1
    Executing request completion options...
    Output file size:
    0
    Output is not being printed because:
    The print option has been disabled for this report.
    Following are the details of host script :-
    /* Result Sets Interface */
    #ifndef SQL_CRSR
    # define SQL_CRSR
    struct sql_cursor
    unsigned int curocn;
    void *ptr1;
    void *ptr2;
    unsigned int magic;
    typedef struct sql_cursor sql_cursor;
    typedef struct sql_cursor SQL_CURSOR;
    #endif /* SQL_CRSR */
    ........................<snip>...............................
    /* [002] Start */
    int IsDir( char *dirLoc )
         struct stat sbuf;
         if(     stat(     dirLoc,     &sbuf     ) == -1     )
              return(0);
         if(     S_ISDIR( sbuf.st_mode )     )
              return(1);
         else
              return(0);
    /* [002] End */
    This is not a host program - a host program is a OS shell script. This looks like C code - you will need to correct the registration of this concurrent program to indicate that it is so.
    I am not getting this issue in my previous test instance. But when i run the same file i get the above error. Please tell me possible causes of this.
    Pl identify how this was registered in your test instance.
    Thanks
    Swapnil.
    Edited by: Swapnil M Kapote on Jul 23, 2012 11:35 AMHTH
    Srini

  • ORA-1481 using DBMS_SQL.FETCH_ROWS

    Hi all.
    I have a package, called from forms 6, that in one of its functions uses DBMS_SQL package.
    It has a bunch of DBMS_SQL.DEFINE_COLUMN ....
    but fails with ora-1481 in this line (after all the DEFINE_COLUMN)
    <quote>
    traza := '07 ';
    if (DBMS_SQL.FETCH_ROWS(v_cursor)= 0 ) then
    traza := '71';
         exit;
    end if;
    traza := '08';
    .... more code
    <end quote>
    The procedure shows, going to the WHEN OTHERS exception, the error 1481 with '07' as traza (trace). Not '71', not '08'.
    Someone can help? Thank you all in advance.

    It could be caused because in the previous DBS_SQL.DEFINE_COLUMN some of the variables used like
    - "DBMS_SQL.DEFINE_COLUMN (v_cursor, 71, v_cdclave_sust ,1000 );" -> that (w_cdclave_sust) is a varchar2
    - or "DBMS_SQL.DEFINE_COLUMN (v_cursor, 71, v_cdclave_sust_2 );" -> w_cdclave_sust_2 is a number)
    are number?
    Thanks

  • Getting ORA-00600 when using table functions

    Hello,
    I am trying to use simple table function:
    create or replace type StatCall AS OBJECT (
    dial_number varchar2(255),
    start_date date,
    duration number(20)
    create or replace type StatCallSet AS TABLE OF StatCall;
    create or replace package ref IS
    type refcall_t IS REF CURSOR RETURN calls%ROWTYPE;
    end ref;
    create or replace function GetStats(p ref.refcall_t) return StatCallSet pipelined is
    out_rec StatCall;
    in_rec p%ROWTYPE;
    BEGIN
    LOOP
    FETCH p INTO in_rec;
    EXIT WHEN p%NOTFOUND;
    out_rec.dial_number := in_rec.dial_number;
    out_rec.start_date := in_rec.start_date;
    out_rec.duration := in_rec.duration;
    PIPE ROW(out_rec);
    END LOOP;
    CLOSE p;
    RETURN;
    END;
    select * from TABLE(GetStats(CURSOR(select * from call)));
    And I get:
    ORA-00600: internal error code, arguments: [17285], [0xFFFFFFFF7C4900A8], [1], [0x3943BA5E0], [], [], [], []
    Oracle 9.2.0.2
    Are there any ideas about how to fix this?

    What version of the database?
    Which flavor of Disco (Plus, Desktop, Viewer)?
    Standars EUL or Apps EUL?
    Can you post the code for the calculation?
    ORA-600 errors, as you mentioned, are internal, and may require opening a dialog with Oracle support. Then again, it could be something else in the calculation that is causing the sky to fall.

  • Inserting multiple rows using a subquery getting ora error 0097 :Misssing )

    Iam getting ora :0097 missing right parenthesis
    insert into id_bfs_user_access_proj_racopy
    (user_name, project_id)
    ((Select user_name from id_bfs_user_access_cc Where cost_center_id in (select cost_center_id from ID_COST_CENTER_GROUPS_V where cost_center_group = 'Engineering')), 3)
    If i run below sql it is working fine can anyone help me in this
    insert into id_bfs_user_access_proj_racopy
    (user_name)
    (Select user_name from id_bfs_user_access_cc Where cost_center_id in (select cost_center_id from ID_COST_CENTER_GROUPS_V where cost_center_group = 'Engineering'))

    "how can it be valid since 3 is another column value and for user name we have to use entire sql"
    Did you try it? It is perfectly valid to select a constant as part of a SELECT statement, which is what 516945's solution does.
    SQL> CREATE TABLE t (id NUMBER, descr VARCHAR2(10));
    Table created.
    SQL> INSERT INTO t VALUES (1, 'One');
    1 row created.
    SQL> INSERT INTO t VALUES (2, 'Two');
    1 row created.
    SQL> COMMIT;
    Commit complete.
    SQL> SELECT id, descr, 'This is a constant string' const_str, 42 const_num
      2  FROM t;
            ID DESCR      CONST_STR                  CONST_NUM
             1 One        This is a constant string         42
             2 Two        This is a constant string         42John

  • Getting ORA-00001 while using MERGE

    hi there,
    I am loading data from one Oracle table into another, using MERGE. My target table has a primary key constraint on TRANS_DATE, SEQ_NR and FILE_NAME. I have made sure that there are no duplicate rows in the the source table with regard to the target tables's primary key.
    The problem is that I am getting ORA-00001: Primary Key Violated ...
    my code is as follows:
    declare
    begin
    merge into fact_prepaidcalls_tb TARG
    using
    select
    nvl(fact_prepcustomers_tb.subscriberid,0) SUBSCRIBERID,
    accnum ACCNUM,
    sdrdate TRANS_DATE,
    TO_NUMBER(to_char(sdrdate,'yyyymmdd')) DIMDATEID,
    return_timeid(sdrdate) DIMTIMEID,
    return_peaktimeid(to_char(PAY_SDR.SDRDATE,'hh24miss'),SDRDATE) DIMPEAKTIMEID,
    nvl(dim_calltype.dimcalltypeid,0) DIMCALLTYPEID,
    sdrduration CHARGEDURATION,
    nvl(dim_tds_term.DIMTDStermid,9999) DIMTDSTERMID,
    calling CALLING,
    called CALLED,
    cparty CPARTY,
    freetimeused FREETIMEUSED,
    creditused CREDITUSED,
    creditrebate CREDITREBATE,
    servicetax SERVICETAX,
    surcharge SURCHARGE,
    follow FOLLOW,
    nvl(dim_call_location.dimcalllocationid,0) DIMCALLLOCATIONID,
    startbalance STARTBALANCE,
    priceoption PRICEOPTION,
    nvl(dim_cos.dimcosid,0) DIMCOSID,
    nvl(debitrate1,0) DEBITRATE1,
    debitrate2,
    prepaid.pay_sdr.region REGION,
    substr(file_name, instr(file_name,'cdr')) FILE_NAME,
    seq_nr SEQ_NR,
    SYSDATE LOADDATE,
    ORIGINNODE
    from prepaid.pay_sdr, dim_call_location, dim_calltype, dim_cos, dim_tds_term, fact_prepcustomers_tb
    where sdrdate >= to_date('10-Feb-2008 000000','dd-mon-rrrr hh24miss') and
    sdrdate <= to_date('10-Feb-2008 235959','dd-mon-rrrr hh24miss') and
    fact_prepcustomers_tb.msisdn = prepaid.pay_sdr.accnum and
    dim_calltype.calltypeid = prepaid.pay_sdr.type and
    dim_call_location.cellid = prepaid.pay_sdr.region and
    dim_cos.cosid = prepaid.pay_sdr.cos and
    dim_tds_term.termid = prepaid.pay_sdr.term
    ) SOUR
    on
    TARG.TRANS_DATE = SOUR.TRANS_DATE      and          
    TARG.SEQ_NR = SOUR.SEQ_NR      and          
    TARG.FILE_NAME = SOUR.FILE_NAME
    when not matched then
    --load fact data
    insert
    ( SUBSCRIBERID,
    ACCNUM,
    TRANS_DATE,
    DIMDATEID,
    DIMTIMEID,
    DIMPEAKTIMEID,
    DIMCALLTYPEID,
    CHARGEDURATION,
    DIMTDSTERMID,
    CALLING,
    CALLED,
    CPARTY,
    FREETIMEUSED,
    CREDITUSED,
    CREDITREBATE,
    SERVICETAX,
    SURCHARGE,
    FOLLOW,
    DIMCALLLOCATIONID,
    STARTBALANCE,
    PRICEOPTION,
    DIMCOSID,
    DEBITRATE1,
    DEBITRATE2,
    REGION,
    FILE_NAME,
    SEQ_NR,
    LOADDATE,
    CALLCHARGE,
    originnode)
    values
    ( SOUR.subscriberid,
    SOUR.ACCNUM,
    SOUR.TRANS_DATE,
    SOUR.DIMDATEID,
    SOUR.DIMTIMEID,
    SOUR.DIMPEAKTIMEID,
    SOUR.DIMCALLTYPEID,
    SOUR.CHARGEDURATION,
    SOUR.DIMTDSTERMID,
    SOUR.CALLING,
    SOUR.CALLED,
    SOUR.CPARTY,
    SOUR.FREETIMEUSED,
    SOUR.CREDITUSED,
    SOUR.CREDITREBATE,
    SOUR.SERVICETAX,
    SOUR.SURCHARGE,
    SOUR.FOLLOW,
    SOUR.DIMCALLLOCATIONID,
    SOUR.STARTBALANCE,
    SOUR.PRICEOPTION,
    SOUR.DIMCOSID,
    SOUR.DEBITRATE1,
    SOUR.DEBITRATE2,
    SOUR.REGION,
    SOUR.FILE_NAME,
    SOUR.SEQ_NR,
    SOUR.LOADDATE,
    SOUR.DEBITRATE1,
    SOUR.originnode);
    commit;
    end;

    Hi,
    you're missing WHEN MATCHED THEN <update_clause>
    {noformat}
    MERGE <hint> INTO <table_name>
    USING <table_view_or_query>
    ON (<condition>)
    WHEN MATCHED THEN <update_clause>
    DELETE <where_clause>
    WHEN NOT MATCHED THEN <insert_clause>
    [LOG ERRORS <log_errors_clause> <reject limit <integer | unlimited>];
    {noformat}
    Edited by: bobbydj on Sep 18, 2008 4:53 PM
    or you can try and add the primary key in the on condition

  • Get ORA-01031: insufficient privileges error, but only when using dbstart.

    I am getting ORA-01031: insufficient privileges error, but only when using dbstart. the listener starts but not the database. How come I can start it from SQL prompt but not from dbstart scripts as the oracle user?
    [oracle@mallard bin]$ ./dbstart
    Processing Database instance "gf44": log file /prod/oracle/10/startup.log
    [oracle@mallard bin]$
    Log file:
    Wed Aug 20 10:15:02 CDT 2008
    SQL*Plus: Release 10.2.0.1.0 - Production on Wed Aug 20 10:15:02 2008
    Copyright (c) 1982, 2005, Oracle. All rights reserved.
    SQL> ERROR:
    ORA-01031: insufficient privileges
    SQL> ORA-01031: insufficient privileges
    SQL>
    /prod/oracle/10/bin/dbstart: Database instance "gf44" warm started.
    >
    oratab file:
    gf44:/prod/oracle/10:Y
    dbstart file section:
    # See if it is a V6 or V7 database
    VERSION=undef
    if [ -f $ORACLE_HOME/bin/sqldba ] ; then
    SQLDBA=svrmgrl
    VERSION=`$ORACLE_HOME/bin/sqldba command=exit | awk '
    /SQL\*DBA: (Release|Version)/ {split($3, V, ".") ;
          print V[1]}'`
    case $VERSION in
    "6") ;;
    *) VERSION="internal" ;;
    esac
    else
    if [ -f $ORACLE_HOME/bin/svrmgrl ] ; then
    SQLDBA=svrmgrl
    VERSION="internal"
    else
    SQLDBA="sqlplus /nolog"
    fi
    fi
    Permissions of file:
    [oracle@mallard bin]$ ls -la dbstart
    -rwxrwxr-x 1 oracle oinstall 10407 Aug 19 12:27 dbstart
    [oracle@mallard bin]$
    User permissions:
    [root@mallard 10]# id oracle
    uid=503(oracle) gid=503(oinstall) groups=503(oinstall),504(dba)
    [root@mallard 10]#
    I can start the listener manually using "./lsnrctl start" and start the database manually from sql prompt using "SQL>startup" (as sysdba) with no problems. this only happens when using dbstart file. I am logged in as oracle user and all environment variables are set
    Thank you for any help you could provide.

    I have the same problem, but i don't want insert this string
    Connect sys/{password} as sysdbaI have deployed an Oracle 10g with os SunOS
    $ uname -a
    SunOS DB02 5.10 Generic_141444-09 sun4v sparc SUNW,Sun-Blade-T6320
    I can connect with sys/password, but I can't login with
    $ sqlplus /nolog
    SQL*Plus: Release 10.2.0.1.0 - Production on Thu Jan 7 15:19:50 2010
    Copyright (c) 1982, 2005, Oracle.  All rights reserved.
    SQL> connect / as sysdba
    ERROR:
    ORA-01031: insufficient privilegesthe the startup and dbshut don't work.
    Someone maybe help me?
    Thanks,
    Regards.
    Lain

  • Not closing ResultSet, but not getting ORA-01000

    I have an application that is generating the familiar ORA-01000 error.
    Whilst investigating the problem, I wrote a small test program. In the test program I tried to get the ORA-01000, but I don't get it (has anyone ever complained about not getting ORA-01000 before?!)
    connection = DriverManager.getConnection("<connection string>");
    String sql = "SELECT c1 FROM pdtab2 WHERE Id>=? AND Id<=?";
    PreparedStatement ps = connection.prepareStatement(sql);
    for (int i = 1; i <= 30000; ++i)
        ps.setInt(1, i-1);
        ps.setInt(2, i+1);
        if (i % 100 == 0)
            System.out.println("i=" +i);
            System.out.println("getCurrentOpenCursors(connection)="
                               +getCurrentOpenCursors(connection));
        try
            rs = ps.executeQuery();
            while (rs.next())
                result = rs.getInt(1);
        catch (SQLException e2)
            e2.printStackTrace();
        finally
            // Do nothing! Do not close the result set
    }getCurrentOpenCursors does:
    select count(*) AS COUNT from v$open_cursor where user_name like 'me'
    I have reduced OPEN_CURSORS down from 300 to 100, but getCurrentOpenCursors always returns less that what it is set to. Suggesting that OPEN_CUSRORS is not a limit, but rather a pool size?
    The result set returns more than one record, I never close the result set, yet I do not get an ORA-01000 error. I have tried auto-commit true and false on the connection. Is the prepared statement closing its previous result set on each new iteration of the loop, hence stopping me getting a problem?
    I am using Oracle version 10.2.0.1, the corresponding ojdbc14.jar, and Java 1.4.
    Thanks,
    Paul

    Here is a program that does that for you.
    To fix the program, un-comment the line 24 of the code and run again.
    C:\> type TestCursors.java
    import java.lang.* ;
    import java.util.* ;
    import java.sql.* ;
    import oracle.jdbc.* ;
    public class TestCursors
        public static void main(String[] args) throws SQLException, ClassNotFoundException
            Class.forName("oracle.jdbc.driver.OracleDriver");
            Connection connection = DriverManager.getConnection("jdbc:oracle:oci:@localhost:1521:ORCL");
            ResultSet rs ;
            PreparedStatement ps ;
            for (int i = 1; i <= 30000; ++i)
                String sql = "SELECT 20 FROM scott.emp WHERE deptno = ?";
                ps = connection.prepareStatement(sql);
                ps.setInt(1, 10);
                try
                    rs = ps.executeQuery();
                    rs.close() ;
                    //ps.close() ;
                catch (SQLException e2)
                    System.out.println("The value if i is " + i) ;
                    throw e2 ;
    C:\> javac TestCursors.java
    C:\> java TestCursors
    The value if i is 301
    Exception in thread "main" java.sql.SQLException: ORA-01000: maximum open cursors exceeded
            at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:111)
            at oracle.jdbc.driver.T2CConnection.checkError(T2CConnection.java:671)
            at oracle.jdbc.driver.T2CConnection.checkError(T2CConnection.java:597)
            at oracle.jdbc.driver.T2CPreparedStatement.executeForDescribe(T2CPreparedStatement.java:570)
            at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1030)
            at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1123)
            at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3284)
            at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3328)
            at TestCursors.main(TestCursors.java:22)
    C:\>

  • Getting ORA-01429 error while changing character set

    When I am changing character set from WE8DEC to AL32UTF8, I am getting ORA-01429 error
    SQL> ALTER DATABASE CHARACTER SET INTERNAL_USE AL32UTF8 ;
    ALTER DATABASE CHARACTER SET INTERNAL_USE AL32UTF8
    ERROR at line 1:
    ORA-00604: error occurred at recursive SQL level 1
    ORA-01429: Index-Organized Table: no data segment to store overflow row-pieces

    Chockalingam wrote:
    I am using above steps as per oracle doc only.
    http://docs.oracle.com/cd/B10500_01/server.920/a96529/ch10.htm
    No, you are not.
    - You are not using the correct version doc vs. Oracle server version. Try to find the same suggestion in the relevant doc.
    - The doc you reference specifically says "... it can be used only under special circumstances. The ALTER DATABASE CHARACTER SET statement does not perform any data conversion, so it can be used +if and only if the new character set is a strict superset of the current character set+." (emphasis is mine)
    You do not have a strict superset.
    - Also the special clauses you have used are not documented - for a reason.
    Please edit your posts above to remove the ill-advice (steps with internal use only clauses) that does not belong on a forum.
    Edited by: orafad on Mar 16, 2012 9:47 PM

  • I am getting ORA-01008:not all variables bound error

    Hi all,
    i am getting ORA-01008:not all variables bound error while executing the following code...
    Could any one help me to find out the problem...i am very new to ODP.net and Oracle ..
    I am using VC++.net for run this code.
    Here is the code.....
    #include <iostream>
    using namespace std;
    using namespace System;
    using namespace Oracle::DataAccess::Client;
    class Sample
    public:
         Sample();
    ~Sample();
    Sample::Sample()
         int num = 100;
         int sal = 200;
    //connect to Oracle
         OracleConnection ^con ;
         con = gcnew OracleConnection();
         con->ConnectionString = "User Id=test;Password=test;Data Source=test.local.com";
         //Oracle command part
         OracleCommand ^cmd;
         cmd = con->CreateCommand();
         cmd->CommandText = "insert into simple values (:num, :sal)";
         try
              con->Open();
              cmd->ExecuteNonQuery();
         catch (Exception ^e)
              Console::WriteLine("Execution Failed:" + e->Message);
    finally
              con->Close();          
    Sample::~Sample()
    int main()
         Sample samp;
         return 0;
    sorrry lack of comments.....
    plz help me out..
    thanks in advance..
    justin

    Hello,
    You have 2 bind variables in your statement (:num and :sal) but you have not created parameters and bound them to the bind variables.
    - Mark

  • I am getting "ORA-00900: invalid SQL statement"  error.?

    I did installed oracle 11gR2. and used "DBMS_METADATA_DIFF.COMPARE_ALTER('TABLE','TBL_A','TBL_A','USER1','USER2')"   to see the result like below,  but I am getting "ORA-00900: invalid SQL statement"  error.   Any idea?
    I am using:
    Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
    PL/SQL Release 11.2.0.1.0 - Production
    CORE 11.2.0.1.0 Production
    TNS for 32-bit Windows: Version 11.2.0.1.0 - Production
    NLSRTL Version 11.2.0.1.0 - Production
    SQL> desc user1.tbl_a
    Name                                      Null?    Type
    FIELD_A1                                  NOT NULL NUMBER
    FIELD_A2                                           VARCHAR2(20)
    FIELD_A4                                  NOT NULL NUMBER(5,2)
    FIELD_A5                                           VARCHAR2(10)
    FIELD_A6                                  NOT NULL NUMBER(2)
    SQL> desc user2.tbl_a
    Name                                      Null?    Type
    FIELD_A1                                  NOT NULL NUMBER
    FIELD_A2                                           VARCHAR2(50)
    FIELD_A3                                           DATE
    FIELD_A4                                           NUMBER(5,2)
    FIELD_A5                                  NOT NULL VARCHAR2(10)
    SQL> select dbms_metadata_diff.compare_alter('TABLE','TBL_A','TBL_A','USER1','USER2') from dual
    expected result:
    DBMS_METADATA_DIFF.COMPARE_ALTER('TABLE','TBL_A','TBL_A','U1','U2')
    ALTER TABLE "U1"."TBL_A" ADD ("FIELD_A3" DATE)
      ALTER TABLE "U1"."TBL_A" DROP ("FIELD_A6")
      ALTER TABLE "U1"."TBL_A" MODIFY ("FIELD_A2" VARCHAR2(50))
      ALTER TABLE "U1"."TBL_A" MODIFY ("FIELD_A4" NUMBER(5,2) DEFAULT 0)
      ALTER TABLE "U1"."TBL_A" MODIFY ("FIELD_A4" NULL)
      ALTER TABLE "U1"."TBL_A" MODIFY ("FIELD_A5" NOT NULL ENABLE)

    Thanks for reply rp,
    I got result using "select dbms_metadata_diff.compare_alter('TABLE','TBL_A','TBL_A','USER1','USER2') from dual"

  • Getting ORA-32700 while creating database

    I am getting following error when creating the database :
    ORA-32700 error occurred in DIAG Group Service
    The error description is as follows :
    Cause: An unexpected error occurred while performing a DIAG Group Service operation.
    Action: Verify that the DIAG process is still active. Also, check the Oracle DIAG trace files for errors.
    The setup is as follows :
    Database : Oracle 9i Rel 2.
    OS : IBM AIX 4.3.3
    We are trying to create the database from sqlplus/dbca. It seems that in the database creation process it is throwing the error while it is trying to create the control files.
    listener.ora :
    LSNR_TSEDMDB2 =
    (DESCRIPTION_LIST =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = prcsmbk1)(PORT = 1522))
    TNSNAMES.ORA
    LISTENER_TSEDMDB2 =
    (ADDRESS = (PROTOCOL = TCP)(HOST = prcsmbk1)(PORT = 1522))
    We have IBM HACMP Cluster setup on 3 machines. This machine (prcsmbk1) on which I am getting the error while creating the database is part of that HACMP cluster. While installing the Oracle database software also it gave me a list of the 3 machines which are in HACMP cluster. We are not planning to setup RAC, but still it seems like while creating the database control files Oracle is trying to perform some group service operation.
    Alert log :
    Sat Jan 3 03:31:18 2004
    Starting ORACLE instance (normal)
    Sat Jan 3 03:31:18 2004
    Global Enqueue Service Resources = 64, pool = 4
    Sat Jan 3 03:31:18 2004
    Global Enqueue Service Enqueues = 128
    LICENSE_MAX_SESSION = 0
    LICENSE_SESSIONS_WARNING = 0
    GES IPC: Receivers 1 Senders 1
    GES IPC: Buffers Receive 1000 Send 530 Reserve 300
    GES IPC: Msg Size Regular 432 Batch 2048
    SCN scheme 3
    Using log_archive_dest parameter default value
    LICENSE_MAX_USERS = 0
    SYS auditing is disabled
    Starting up ORACLE RDBMS Version: 9.2.0.4.0.
    System parameters with non-default values:
    processes = 150
    timed_statistics = TRUE
    shared_pool_size = 117440512
    large_pool_size = 16777216
    java_pool_size = 117440512
    control_files = /u01/app/oracle/oradata/TSEDMDB2/control01.ctl
    db_block_size = 8192
    db_cache_size = 33554432
    compatible = 9.2.0.0.0
    db_file_multiblock_read_count= 16
    fast_start_mttr_target = 300
    undo_management = AUTO
    undo_tablespace = UNDOTBS1
    undo_retention = 10800
    remote_login_passwordfile= EXCLUSIVE
    db_domain =
    instance_name = TSEDMDB2
    dispatchers = (PROTOCOL=TCP) (SERVICE=TSEDMDB2XDB)
    local_listener = LISTENER_TSEDMDB2
    job_queue_processes = 10
    hash_join_enabled = TRUE
    background_dump_dest = /u01/app/oracle/admin/TSEDMDB2/bdump
    user_dump_dest = /u01/app/oracle/admin/TSEDMDB2/udump
    core_dump_dest = /u01/app/oracle/admin/TSEDMDB2/cdump
    sort_area_size = 524288
    db_name = TSEDMDB2
    open_cursors = 300
    star_transformation_enabled= FALSE
    query_rewrite_enabled = FALSE
    pga_aggregate_target = 25165824
    aq_tm_processes = 1
    Sat Jan 3 03:31:19 2004
    clUster interconnect IPC version:Oracle UDP/IP
    IPC Vendor 1 proto 2 Version 1.0
    PMON started with pid=2
    DIAG started with pid=3
    LMON started with pid=4
    LMD0 started with pid=5
    DBW0 started with pid=6
    LGWR started with pid=7
    CKPT started with pid=8
    SMON started with pid=9
    RECO started with pid=10
    CJQ0 started with pid=11
    QMN0 started with pid=12
    Sat Jan 3 03:31:24 2004
    starting up 1 shared server(s) ...
    starting up 1 dispatcher(s) for network address '(ADDRESS=(PARTIAL=YES)(PROTOCOL=TCP))'...
    Sat Jan 3 03:31:25 2004
    Create controlfile reuse set database TSEDMDB2
    MAXINSTANCES 1
    MAXLOGHISTORY 1
    MAXLOGFILES 50
    MAXLOGMEMBERS 5
    MAXDATAFILES 100
    Datafile
    '/u01/app/oracle/oradata/TSEDMDB2/cwmlite01.dbf' ,
    '/u01/app/oracle/oradata/TSEDMDB2/drsys01.dbf' ,
    '/u01/app/oracle/oradata/TSEDMDB2/example01.dbf' ,
    '/u01/app/oracle/oradata/TSEDMDB2/indx01.dbf' ,
    '/u01/app/oracle/oradata/TSEDMDB2/odm01.dbf' ,
    '/u01/app/oracle/oradata/TSEDMDB2/system01.dbf' ,
    '/u01/app/oracle/oradata/TSEDMDB2/tools01.dbf' ,
    '/u01/app/oracle/oradata/TSEDMDB2/undotbs01.dbf' ,
    '/u01/app/oracle/oradata/TSEDMDB2/users01.dbf' ,
    '/u01/app/oracle/oradata/TSEDMDB2/xdb01.dbf'
    LOGFILE GROUP 1 ('/u01/app/oracle/oradata/TSEDMDB2/redo01.log') SIZE 102400K,
    GROUP 2 ('/u01/app/oracle/oradata/TSEDMDB2/redo02.log') SIZE 102400K,
    GROUP 3 ('/u01/app/oracle/oradata/TSEDMDB2/redo03.log') SIZE 102400K RESETLOGS
    Sat Jan 3 03:31:25 2004
    ORA-1503 signalled during: Create controlfile reuse set database TSEDMDB2
    MAX...
    Sat Jan 3 03:32:28 2004
    Restarting dead background process QMN0
    QMN0 started with pid=15
    Sat Jan 3 03:32:28 2004
    Shutting down instance (abort)
    License high water mark = 3
    Instance terminated by USER, pid = 47128
    Diag trace file :
    /u01/app/oracle/admin/TSEDMDB2/bdump/tsedmdb2_diag_49754.trc
    Oracle9i Enterprise Edition Release 9.2.0.4.0 - 64bit Production
    With the Partitioning, Real Application Clusters, OLAP and Oracle Data Mining options
    JServer Release 9.2.0.4.0 - Production
    ORACLE_HOME = /u01/app/oracle/product/9.2.0
    System name: AIX
    Node name: prcsmbk1
    Release: 3
    Version: 4
    Machine: 0002599F4C00
    Instance name: TSEDMDB2
    Redo thread mounted by this instance: 0 <none>
    Oracle process number: 0
    49754
    Number of Serviceable Networks detected is less than 2
    Disabling Transparent Network Failover Feature.
    *** SESSION ID:(2.1) 2004-01-03 03:31:19.886
    kjzcprt:rcv port created
    kjzmreg2: slos err[1 19 [HA_GS_CONNECT_FAILED] sskgxn_gs_in 19]
    [kjzmreg2]: Error [category=1] is encountered
    Node monitor problem:[32700][kjzmreg2]
    Membership is lost in DIAG group
    Any help is appreciated. Thanks in advance.

    Thanks a lot for all your responses. We found the issue. The issue was that when we installed 9i we selected Enterprise option which installed RAC also. And after that when we were trying to create database Oracle was thinking that we are trying to create database in RAC env. and most likely it was trying to create/sync the control files on all the machines in the cluster.
    The sequence of events were as below :
    1. We have 8i installed on this machine
    2. We installed 9i (9.2.0.1.0) using the same ORACLE_BASE but different ORACLE_HOME. We didn't select "Custom Install". We selected "Enterprise install" option
    3. We installed new installer (2.2.0.18.0 ) and then 9i patch (9.2.0.4.0)
    4. While creating the database (manually & through DBCA) we were getting ORA-32700
    5. We tried to uninstall (using OUI 2.2.0.18.0) 9i (including the patch) completely but it never succeeded. We noticed that when we started uninstall it did show progress for about 20 minutes and after that it didn't show any progress. It was not taking any CPU cycles and It was not writing to the log file either. Basically we were never able to cleanly uninstall 9i. We tried almost 2 to 3 times.
    6. Then we installed 9i using a new ORACLE_BASE and this time we selected "Custom Install" and we did not install RAC. This is successful
    7. Then we installed new installer (2.2.0.18.0 ) and we tried to install the 9i patch (9.2.0.4.0) using this new installer but it never succeeded. Then we tried to install the 9i patch (9.2.0.4.0) using the old installer version (2.2.0.11.0) and it was also successful.
    8. Then we tried to create database using DBCA and it was successful and then we dropped the database which was created using DBCA and then we created it manually through SQLPLUS and this was fine too.
    So basically what we learned from this exercise is that if we are installing 9i on a machine which is part of a cluster and if we don't plan to setup RAC then we shouldn't install RAC and we should do a custom install. I wish there was a option in create database stmt to tell Oracle that though we are creating database on a machine which is part of a cluster environment but we don't intend to setup RAC.
    And other thing which is still a mystery is that why does the uninstall never completes successfully. One question on this : We were using the installer version 2.2.0.18.0 to uninstall the 9i software. Do we need to use the older version (2.2.0.11.0) of the OUI?

  • Error when using DBMS_SQL.parse

    Has anyone ever ran into this error "ORA-00932: inconsistent datatypes: expected NUMBER got DATE" when using DBMS_SQL.parse? I'm trying to pass in a sql statement that includes date columns but it keeps failing during the parse step. If I put a "to_char" around the dates it works fine.
    Any ideas?
    declare
        l_cursor   PLS_INTEGER;
        l_rows     PLS_INTEGER;
        l_col_cnt  PLS_INTEGER;
        l_desc_tab DBMS_SQL.desc_tab;
        l_buffer   CLOB;
        v_query    clob;
        l_file UTL_FILE.file_type;
        g_sep  VARCHAR2(5) := ',';
      BEGIN
        l_cursor := DBMS_SQL.open_cursor;
        v_query := 'SELECT CREATED FROM DBA_USERS';
        DBMS_SQL.parse(l_cursor, v_query, DBMS_SQL.native);
        DBMS_SQL.describe_columns(l_cursor, l_col_cnt, l_desc_tab);
        FOR i IN 1 .. l_col_cnt
        LOOP
          DBMS_SQL.define_column(l_cursor, i, l_buffer);
        END LOOP;
        l_rows := DBMS_SQL.execute(l_cursor);   
        -- Output the column names.
        FOR i IN 1 .. l_col_cnt
        LOOP
          IF i > 1 THEN
            UTL_FILE.put(l_file, g_sep);
          END IF;
          UTL_FILE.put(l_file, l_desc_tab(i).col_name);
        END LOOP;
        UTL_FILE.new_line(l_file);
        -- Output the data.
        LOOP
          EXIT WHEN DBMS_SQL.fetch_rows(l_cursor) = 0;
          FOR i IN 1 .. l_col_cnt
          LOOP
            IF i > 1 THEN
              UTL_FILE.put(l_file, g_sep);
            END IF;
            DBMS_SQL.COLUMN_VALUE(l_cursor, i, l_buffer);
            -- Check for column data type. If "character" data type enclose in quotes
            -- 1 = VARCHAR2 and NVARCHAR2, 96 = CHAR and NCHAR, 112 = CLOB
            IF l_desc_tab(i).col_type IN (1, 96, 112) THEN
              l_buffer := '"' || l_buffer || '"';
            END IF;
            UTL_FILE.put(l_file, l_buffer);
          END LOOP;
          UTL_FILE.new_line(l_file);
        END LOOP;
        UTL_FILE.fclose(l_file);
      EXCEPTION
        WHEN OTHERS THEN
          IF UTL_FILE.is_open(l_file) THEN
            UTL_FILE.fclose(l_file);
          END IF;
          IF DBMS_SQL.is_open(l_cursor) THEN
            DBMS_SQL.close_cursor(l_cursor);
          END IF;
          RAISE;
      END;Edited by: jpvybes on Jun 6, 2013 3:47 PM

    >
    Has anyone ever ran into this error "ORA-00932: inconsistent datatypes: expected NUMBER got DATE" when using DBMS_SQL.parse? I'm trying to pass in a sql statement that includes date columns but it keeps failing during the parse step. If I put a "to_char" around the dates it works fine.
    >
    No - it is NOT failing on the parse step. If you comment out various sections of the code you will find that your loop is causing the problem.
    Comment out this loop and there is NO exception.
        l_buffer   CLOB;
        FOR i IN 1 .. l_col_cnt
        LOOP
          DBMS_SQL.define_column(l_cursor, i, l_buffer);
        END LOOP;Do you now see the problem?
    You are using 'define_column' and passing 'l_buffer' which is a CLOB. But this is your query
        v_query := 'SELECT CREATED FROM DBA_USERS';And that 'CREATED' column in the query is a DATE.
    Why are you defining a column as a CLOB when the cursor column is a DATE?
    See the example3 in Chapter 100 DBMS_SQL in the Packages and Types doc. It shows an example that includes a DATE column.
    http://docs.oracle.com/cd/B19306_01/appdev.102/b14258/d_sql.htm#i996963

  • How to make dynamic query using DBMS_SQL variable column names

    First of all i will show a working example of what i intend to do with "EXECUTE IMMEDIATE":
    (EXECUTE IMMEDIATE has 32654 Bytes limit, which isn't enough for me so i'm exploring other methods such as DBMS_SQL)
    -------------------------------------------------CODE-----------------------------------
    create or replace PROCEDURE get_dinamic_query_content
    (query_sql IN VARCHAR2, --any valid sql query ('SELECT name, age FROM table') 
    list_fields IN VARCHAR2) --list of the columns name belonging to the query (  arr_list(1):='name';   arr_list(2):='age';
    -- FOR k IN 1..arr_list.count LOOP
    -- list_fields := list_fields || '||content.'||arr_list(k)||'||'||'''~cs~'''; )
    AS
    sql_stmt varchar (30000);
    BEGIN
                   sql_stmt :=
    'DECLARE
         counter NUMBER:=0;     
    auxcontent VARCHAR2(30000);     
         CURSOR content_cursor IS '|| query_sql ||';
         content content_cursor%rowtype;     
         Begin
              open content_cursor;
              loop
                   fetch content_cursor into content;
                   exit when content_cursor%notfound;
                   begin                              
                        auxcontent := auxcontent || '||list_fields||';                    
                   end;
                   counter:=counter+1;     
              end loop;
              close content_cursor;
              htp.prn(auxcontent);
         END;';
    EXECUTE IMMEDIATE sql_stmt;
    END;
    -------------------------------------------------CODE-----------------------------------
    I'm attepting to use DBMS_SQL to perform similar instructions.
    Is it possible?

    Hi Pedro
    You need to use DBMS_SQL here because you don't know how many columns your query is going to have before runtime. There are functions in DBMS_SQL to get information about the columns in your query - all this does is get the name.
    SQL&gt; CREATE OR REPLACE PROCEDURE get_query_cols(query_in IN VARCHAR2) AS
    2 cur PLS_INTEGER;
    3 numcols NUMBER;
    4 col_desc_table dbms_sql.desc_tab;
    5 BEGIN
    6 cur := dbms_sql.open_cursor;
    7 dbms_sql.parse(cur
    8 ,query_in
    9 ,dbms_sql.native);
    10 dbms_sql.describe_columns(cur
    11 ,numcols
    12 ,col_desc_table);
    13 FOR ix IN col_desc_table.FIRST .. col_desc_table.LAST LOOP
    14 dbms_output.put_line('Column ' || ix || ' is ' ||
    15 col_desc_table(ix).col_name);
    16 END LOOP;
    17 dbms_sql.close_cursor(cur);
    18 END;
    19 /
    Procedure created.
    SQL&gt; exec get_query_cols('SELECT * FROM DUAL');
    Column 1 is DUMMY
    PL/SQL procedure successfully completed.
    SQL&gt; exec get_query_cols('SELECT table_name, num_rows FROM user_tables');
    Column 1 is TABLE_NAME
    Column 2 is NUM_ROWS
    PL/SQL procedure successfully completed.
    SQL&gt; exec get_query_cols('SELECT column_name, data_type, low_value, high_value FROM user_tab_cols');
    Column 1 is COLUMN_NAME
    Column 2 is DATA_TYPE
    Column 3 is LOW_VALUE
    Column 4 is HIGH_VALUE
    PL/SQL procedure successfully completed.I've just written this as a procedure that prints out the column names using dbms_output - I guess you're going to do something different with the result - maybe returning a collection, which you'll then parse through in Apex and print the output on the screen - this is just to illustrate the use of dbms_sql.
    best regards
    Andrew
    UK

Maybe you are looking for

  • Analyzer 6.5.1.2.01063 Gifs problem

    i have a problem when i put an animated gif in a report, when i want to open the report, show me the following error" An unknown exception ocurred while communicating with the server.; nested exception is:java.lang.NullPointerException"how can i solv

  • IPhoto will not start

    When I try to run iPhoto it doesn't start and all I get is the pinwheel.  I am running lion and I notice that the window is not on my primary window (I can see a corner of the iPhoto window).  When I force quit I get the following report (1st 50 or s

  • How to restore font library to original?

    I had a folder with tons of fonts in it. I would add them one by one when needed rather than using a font management program. Today I went ahead and added all of them into Font Book. They have brought my system to a crawl. I tried to disable all font

  • I cant view the image or take a snap shot in my i phone 5s

    I cant view the image when  camera is on

  • Smartforms - Multiple original copies

    Hi, In smartforms I would like to print multiple original copies as well as multiple duplicate copies of BOL layout. I know tdcopies parameter has multiple duplicate copies and 1 original copy.But I need multiple originals,how do I do? Thanks, Bala