SQL Loader Segmentation Fault

I'm trying to load a table (fixed length rows = 385 bytes, 78000k+ total bytes) and get a segmentation fault (core dump) as sqlldr is invoked. The log file is 0 bytes. I've tried changing the rows and buffers parms but no difference.
Any thoughts?

Oracle 9.2.0.4
SunOS 5.8
Please disregard this post - I used 'single quotes' instead of "doubles" in the script, so the login info was incorrect...

Similar Messages

  • SQL*Loader memory Fault

    SQL*Loader runs fine when I am running using my login. However when I use a different login I get Memory fault error. Please share any thoughts if had experience this problem or any insights into what might be causing this problem
    Thanks,
    Pedapuli

    The following is in the log:
    SQL*Loader: Release 9.2.0.3.0 - Production on Thu Sep 7 11:44:06 2006
    Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
    Memory fault

  • SQL Server Driver for Linux causes Segmentation Fault

    Hello,
    I'm using the SQL Server Driver 11.0.1790 on Linux with mod_perl and Apache. While running fine with all my CLI Perl apps I occasionally get Segmentation Faults when using it from within mod_perl applications. Sometimes every other connect to the database
    segfaults. I've created a core dump and did a stack backtrace:
    Loaded symbols for /usr/lib/../lib64/libxml2.so.2
    Core was generated by `/usr/sbin/httpd2 -X'.
    Program terminated with signal 11, Segmentation fault.
    #0 0x0000000000000000 in ?? ()
    (gdb) bt
    #0 0x0000000000000000 in ?? ()
    #1 0x00007f8a8aeda803 in __connect_part_two (connection=0x7f8a99c885e0) at SQLConnect.c:1891
    #2 0x00007f8a8aedffd6 in SQLDriverConnect (hdbc=0x7f8a99c885e0, hwnd=0x0, conn_str_in=0x7fff1e7369ee "",
    len_conn_str_in=<value optimized="" out="">,
    conn_str_out=0x7fff1e736a80 "DSN=XXXXX;UID=XXX;PWD=XXXXXXXX;WSID=XXXXXXXX;DATABASE=XXXXX;MARS_Connection=Yes;",
    conn_str_out_max=512, ptr_conn_str_out=0x7fff1e736a7e, driver_completion=0) at SQLDriverConnect.c:1530
    #3 0x00007f8a8b1458ee in odbc_db_login6 (dbh=0x7f8a99938ca0, imp_dbh=0x7f8a99c8acd0,
    dbname=0x7fff1e736c80 "DSN=XXXXX;MARS_Connection=Yes;UID=XXX;PWD=XXXXXXXX", uid=0x7f8a9996e8b0 "XXX",
    pwd=0x7f8a9996e8d0 "XXXXXXXX", attr=0x7f8a99938c40) at dbdimp.c:942
    #4 0x00007f8a8b141822 in XS_DBD__ODBC__db__login (my_perl=<value optimized="" out="">, cv=<value optimized="" out="">) at ./ODBC.xsi:98
    #5 0x00007f8a9125b091 in Perl_pp_entersub (my_perl=0x7f8a96274f50) at pp_hot.c:3046
    #6 0x00007f8a912595f6 in Perl_runops_standard (my_perl=0x7f8a96274f50) at run.c:41
    #7 0x00007f8a911eb755 in Perl_call_sv (my_perl=0x7f8a96274f50, sv=0x7f8a99938bc8, flags=2) at perl.c:2632
    #8 0x00007f8a8b791d02 in XS_DBI_dispatch (my_perl=0x7f8a96274f50, cv=0x7f8a98cbbe60) at DBI.xs:3473
    #9 0x00007f8a9125b091 in Perl_pp_entersub (my_perl=0x7f8a96274f50) at pp_hot.c:3046
    #10 0x00007f8a912595f6 in Perl_runops_standard (my_perl=0x7f8a96274f50) at run.c:41
    #11 0x00007f8a911ebab0 in Perl_call_sv (my_perl=0x7f8a96274f50, sv=0x7f8a97db4f68, flags=10) at perl.c:2647
    #12 0x00007f8a9154ba31 in modperl_callback (my_perl=0x7f8a96274f50, handler=0x7f8a96230c90, p=0x7f8a96334838, r=0x7f8a963348b0,
    s=0x7f8a962303b0, args=0x7f8a998376a8) at modperl_callback.c:101
    #13 0x00007f8a9154c79c in modperl_callback_run_handlers (idx=6, type=4, r=0x7f8a963348b0, c=<value optimized="" out="">, s=0x7f8a962303b0,
    pconf=<value optimized="" out="">, plog=0x0, ptemp=0x0, run_mode=MP_HOOK_RUN_FIRST) at modperl_callback.c:262
    #14 0x00007f8a9154cb6f in modperl_callback_per_dir (idx=-1714610816, r=<value optimized="" out="">, run_mode=<value optimized="" out="">)
    at modperl_callback.c:369
    #15 0x00007f8a91546b93 in modperl_response_handler_run (r=0x7f8a963348b0) at mod_perl.c:1000
    #16 modperl_response_handler (r=0x7f8a963348b0) at mod_perl.c:1039
    #17 0x00007f8a95f01e08 in ap_run_handler ()
    #18 0x00007f8a95f0226c in ap_invoke_handler ()
    #19 0x00007f8a95f0ff00 in ap_process_request ()
    #20 0x00007f8a95f0ce98 in ?? ()
    #21 0x00007f8a95f08b28 in ap_run_process_connection ()
    #22 0x00007f8a95f14e5a in ?? ()
    #23 0x00007f8a95f15126 in ?? ()
    #24 0x00007f8a95f15903 in ap_mpm_run ()
    #25 0x00007f8a95eec9be in main ()
    </value></value></value></value></value></value></value>
    Calling something at NULL obviously doesn't look right…
    Can onebody help fixing this issue?
    Best regards,
    Stephan

    Hi Stephan,
    This is a bug in the unixODBC Driver Manager 2.3.0.  Essentially, you can only have one HDBC per HENV.  The mod_perl must be creating the connections upon the same HENV.
    The bug appears to be fixed in version 2.3.1 but we have not yet certified that out driver can work with 2.3.1.  See the 2.3.1 release notes at
    http://www.unixodbc.org/ where the last item says:
    "Driver version was not being held when a second connection was made to the driver"
    The Driver Manager would "forget" that we are an ODBC V3 driver and try intereacting with us as an ODBC V2 driver for the second connection (which fails).
    The workaround is to create a new HENV for each connection but I'm not sure if this is possible in mod_perl.

  • Segmentation fault error during data load in parallel with multiple rules

    Hi,
    I'm trying to do sql data load in parallel with multiple rules (4 or 5 rules, maybe), i'm getting a "segmentation fault" error. I tested 3 rules file and it worked fine. we're using Essbase system 9.3.2., with UDB (v8) as the sql data source. ODBC driver is DataDirect 5.2 DB2 Wire Protocol Driver (ARdb222). Please let me know if you have any information on this.
    thx.
    Y

    Hi Thad,
    I was wondering, if system is unicode or non unicode that should not matter the amount and currency field . As currencies are defined by SAP and it is in pure English at least a currency code part of 3 Chars. 
    Could this because of some incosistency of data ??
    I would like to know for Which currency  had some special characters it it in that particular record ??
    Hope that helps.
    Regards
    Mr Kapadia

  • Segmentation fault when enabling replication with SQL API

    Hi,
    I've compiled BDB 5.3.21 on Ubuntu 11.04 (x86) with the following configure options:
    ../dist/configure enable-sql enable-sql_compat enable-debug enable-tcl --with-tcl=/usr/lib
    I was able to follow the Replication Usage Examples given in "Getting Started with the SQL APIs" to set up a set of replicated master/client databases.
    However, after I exited out of the dbsql session that started replication on the master database and re-opened the master database with dbsql, executing "pragma replication_initial_master=ON;" followed by "pragma replication=ON;" led to a segmentation fault. gdb showed that the segmentation fault occurred at:
    dbsql> pragma replication=ON;
    Program received signal SIGSEGV, Segmentation fault.
    0x0032d42b in __env_ref_get (dbenv=0x8056ad8, countp=0xbfffd498)
    at ../src/env/env_region.c:772
    772          renv = infop->primary;
    (gdb) list
    767          REGENV *renv;
    768          REGINFO *infop;
    769     
    770          env = dbenv->env;
    771          infop = env->reginfo;
    772          renv = infop->primary;
    773          *countp = renv->refcnt;
    774          return (0);
    775     }
    776     
    (gdb)
    Does anybody know of a solution to this or could this be a bug? Thanks in advance.
    P.S. here's a stack trace:
    (gdb) bt
    #0 0x0032d42b in __env_ref_get (dbenv=0x8056ad8, countp=0xbfffd498)
    at ../src/env/env_region.c:772
    #1 0x001786fc in hasDatabaseConnections (p=0x8056708)
    at ../lang/sql/generated/sqlite3.c:44420
    #2 0x00178a11 in bdbsqlPragmaStartReplication (pParse=0x80648e0,
    pDb=0x80561cc) at ../lang/sql/generated/sqlite3.c:44533
    #3 0x001797f5 in bdbsqlPragma (pParse=0x80648e0,
    zLeft=0x8062e20 "replication", zRight=0x8062dc0 "ON", iDb=0)
    at ../lang/sql/generated/sqlite3.c:44812
    #4 0x001c215d in sqlite3Pragma (pParse=0x80648e0, pId1=0x8064b60,
    pId2=0x8064b70, pValue=0x8064b90, minusFlag=0)
    at ../lang/sql/generated/sqlite3.c:78941
    #5 0x001e5c83 in yy_reduce (yypParser=0x8064b20, yyruleno=256)
    at ../lang/sql/generated/sqlite3.c:96668
    #6 0x001e6761 in sqlite3Parser (yyp=0x8064b20, yymajor=1, yyminor=...,
    pParse=0x80648e0) at ../lang/sql/generated/sqlite3.c:97051
    #7 0x001e7537 in sqlite3RunParser (pParse=0x80648e0,
    zSql=0x80648b8 "pragma replication=ON;", pzErrMsg=0xbfffdba0)
    at ../lang/sql/generated/sqlite3.c:97877
    #8 0x001c730e in sqlite3Prepare (db=0x8056010,
    zSql=0x80648b8 "pragma replication=ON;", nBytes=-1, saveSqlFlag=1,
    ---Type <return> to continue, or q <return> to quit---
    pReprepare=0x0, ppStmt=0xbfffdc8c, pzTail=0xbfffdc88)
    at ../lang/sql/generated/sqlite3.c:80736
    #9 0x001c7739 in sqlite3LockAndPrepare (db=0x8056010,
    zSql=0x80648b8 "pragma replication=ON;", nBytes=-1, saveSqlFlag=1,
    pOld=0x0, ppStmt=0xbfffdc8c, pzTail=0xbfffdc88)
    at ../lang/sql/generated/sqlite3.c:80828
    #10 0x001c7a5e in sqlite3_prepare_v2 (db=0x8056010,
    zSql=0x80648b8 "pragma replication=ON;", nBytes=-1, ppStmt=0xbfffdc8c,
    pzTail=0xbfffdc88) at ../lang/sql/generated/sqlite3.c:80903
    #11 0x0804baf6 in shell_exec (db=0x8056010,
    zSql=0x80648b8 "pragma replication=ON;",
    xCallback=0x804a3c4 <shell_callback>, pArg=0xbfffde14, pzErrMsg=0xbfffdcfc)
    at ../lang/sql/sqlite/src/shell.c:1092
    #12 0x0805030e in process_input (p=0xbfffde14, in=0x0)
    at ../lang/sql/sqlite/src/shell.c:2515
    #13 0x08051453 in main (argc=2, argv=0xbffff3f4)
    at ../lang/sql/sqlite/src/shell.c:2946
    -Irving
    Edited by: snowcrash on Jan 15, 2013 2:16 PM

    Thank you for reporting this. I have been able to reproduce this crash in-house.
    You need to specify the replication_initial_master and replication pragmas as part of initially creating your SQL database. The replication_initial_master pragma is not used or needed after the initial database creation at the initial master site. The replication=on pragma is a persistent setting that we remember internally the first time you specify it. This means that after specifying replication=on for the first time on a site, we will automatically restart replication for you in future dbsql sessions when we open the underlying Berkeley DB environment.
    This gives you a very simple workaround: don't respecify replication=on when you reenter dbsql.
    Of course, we shouldn't be crashing on an unnecessary pragma. I have added this to our list of fixes to consider for the future.
    Thanks,
    Paula Bingham
    Oracle

  • Segmentation fault in SQL*Plus

    Late yesterday afternoon, I tried to query a table in my
    database and received a segmentation fault(core dumped). I
    receive the segmentation fault only when trying to query 4
    tables (out of a total of about 20) and only in SQL*Plus. If I
    query from svrmgrl or through an ODBC connection, I have no
    problems. I tried reinstallng SQL*Plus, but that did not help.
    Any ideas?
    Thanks
    null

    Try:
    SQL>Set arraysize 1.
    You may have longs or too much data for an array fetch > 1
    Howard Chalmers (guest) wrote:
    : Howard Chalmers (guest) wrote:
    : : Late yesterday afternoon, I tried to query a table in my
    : : database and received a segmentation fault(core dumped). I
    : : receive the segmentation fault only when trying to query 4
    : : tables (out of a total of about 20) and only in SQL*Plus. If
    : I
    : : query from svrmgrl or through an ODBC connection, I have no
    : : problems. I tried reinstallng SQL*Plus, but that did not
    help.
    : : Any ideas?
    : : Thanks
    : Additional info: if I try to query a small subset (usually 1-5)
    : of the fields in any of the tables, I do not get the
    : segmentation fault. If I try to select * or to select more
    than
    : about 5 fields, I get the fault.
    null

  • Segmentation Fault when connecting to SQL*Plus from Applications tier

    Hi Everyone -
    I am currently in the process of upgrading a client from 11.5.10.2 to 12.1.1 (eventually 12.1.3) on a OEL x86-64 server. I have laid down the software stack and followed all of the requirements as per the Installation manuals and 761566.1. I also have an open SR right now on this issue - but I wanted to see if any of you have ever run into the issue that I am encountering.
    When I try to run adadmin/adpatch - I get to the prompt of providing the system user password and the utility simply exits. No errors in adpatch.log or adadmin.log (both are 0 bytes in size).
    When I try to connect using SQL*Plus from the applications tier using either:
    sqlplus apps/****@SID
    sqlplus system/****@SID
    I get a Segmentation Fault error. There are also no errors in my alert log file on the database tier. I found this error while attempting to apply the upgrade merge patch.
    Has anyone ever seen s Segmentation Fault error? I have search MOS, found a couple of potential solutions - but nothing has solved the issue so far.
    Thanks in advance...
    Brenna

    >
    Are you on 11.1.0.5.0? Is this the database version?
    No, my database tier is 11.2.0.3 (the database version displayed above was the client version running on the Application Tier.
    Who is the owner of the application tier files? If it is applmgr user, please make sure you login as that user and source the application env file before running sqlplus -- Please issue "echo $ORACLE_HOME" and "which sqlplus" and post the output here.
    My owner of the application tier is oracle. I have sourced the environment using $APPL_TOP/APPSR12Dev1_******.env
    [oracle@****** log]$ echo $ORACLE_HOME
    /u01/app/oracle/R12Dev1/apps/tech_st/10.1.2
    [oracle@****** log]$ which sqlplus
    /u01/app/oracle/R12Dev1/apps/tech_st/10.1.2/bin/sqlplus
    >
    Please relink sqlplus by issuing "$ORACLE_HOME/bin/relink all > relink.txt 2>&1" and check the relink.txt file for any error
    A number of errors occur during the relink, here are some of them:
    /u01/app/oracle/R12Dev1/apps/tech_st/10.1.2/bin/genclntsh
    /usr/bin/ld: warning: i386:x86-64 architecture of input file `/u01/app/oracle/R12Dev1/apps/tech_st/10.1.2/lib/libn10.a(nnfgt.o)' is incompatible with i386 output
    /usr/bin/ld: warning: i386:x86-64 architecture of input file `/u01/app/oracle/R12Dev1/apps/tech_st/10.1.2/lib/libn10.a(ntcontab.o)' is incompatible with i386 output
    /u01/app/oracle/R12Dev1/apps/tech_st/10.1.2/bin/genagtsh /u01/app/oracle/R12Dev1/apps/tech_st/10.1.2/lib/libagtsh.so 1.0
    /usr/bin/ld: warning: i386:x86-64 architecture of input file `/u01/app/oracle/R12Dev1/apps/tech_st/10.1.2/lib/libn10.a(nnfgt.o)' is incompatible with i386 output
    /usr/bin/ld: warning: i386:x86-64 architecture of input file `/u01/app/oracle/R12Dev1/apps/tech_st/10.1.2/lib/libn10.a(ntcontab.o)' is incompatible with i386 output
    /u01/app/oracle/R12Dev1/apps/tech_st/10.1.2/lib/libn10.a(nnfgt.o):(.rodata+0xc8): undefined reference to `nnflboot'
    /u01/app/oracle/R12Dev1/apps/tech_st/10.1.2/lib/libn10.a(ntcontab.o):(.data+0x8): undefined reference to `nttini'
    /u01/app/oracle/R12Dev1/apps/tech_st/10.1.2/lib/libn10.a(ntcontab.o):(.data+0x28): undefined reference to `ntzini'
    /u01/app/oracle/R12Dev1/apps/tech_st/10.1.2/lib/libn10.a(ntcontab.o):(.data+0x68): undefined reference to `ntpini'
    /u01/app/oracle/R12Dev1/apps/tech_st/10.1.2/lib/libn10.a(ntcontab.o):(.data+0x88): undefined reference to `ntusini'
    collect2: ld returned 1 exit status
    Thanks again...

  • SQL Loader Approch to fetch data from Previous Data Segment.

    CREATE TABLE T
    RECORD_ID NUMBER,
    SEG_VALUES VARCHAR2(4000)
    ==============================================================================
    LOAD DATA
    INFILE *
    TRUNCATE
    INTO TABLE T
    WHEN SEG_VALUES <> ''
    RECORD_ID RECNUM,
    SEG_VALUES POSITION(1:4000)
    BEGIN DATA
    AAASH9561000000074120081029SYS
    BBB0000001H0351
    CCC0000001 6040818 078141532A 202007083020070830 36274
    CCC0000002 12623239 526486168A 202008063020080630 4808
    CCC0000003 13326331 530229550A 202008042620080426 V4611
    CCC0000004 23554261 161340499A 202008082220080822 6868
    ==============================================================================
    CREATE TABLE T1
         FILE_ID VARCHAR2(20),
         CONT_NBR VARCHAR2(20),
         SEG_VALUES VARCHAR2(4000)
    ==============================================================================
    CREATE OR REPLACE PROCEDURE P
    AS
    l_Fileid T1.file_id%type;
    l_Contractnbr t1.CONT_NBR%Type;
    BEGIN
         FOR REC IN (SELECT SEG_VALUES FROM T ORDER BY RECORD_ID)
         LOOP
              IF SUBSTR(REC.SEG_VALUES,1,3) ='AAA' THEN
                   l_Fileid := SUBSTR(REC.SEG_VALUES,10,10);
              ELSIF SUBSTR(REC.SEG_VALUES,1,3) ='BBB' THEN
                   l_Contractnbr := SUBSTR(REC.SEG_VALUES,11,5);
              ELSIF SUBSTR(REC.SEG_VALUES,1,3) ='CCC' THEN
                   INSERT INTO T1 VALUES (l_Fileid,l_Contractnbr,REC.SEG_VALUES);               
    END IF;
         END LOOP;
         COMMIT;
    EXCEPTION
         WHEN OTHERS THEN
         RAISE_APPLICATION_ERROR (-20458,SQLERRM);
    END P;
    ==============================================================================
    Is there is any simple approch to handle the above scenario in SQL Loader Control file? if possible can you please show me?

    Handle the above scenario? What above scenario?
    Could I guess ... you betcha. Will I guess? Quite another matter.
    Please provide full version (all 3 decimal places) and a clear and concise description of what help you need.

  • Svrmgrl segmentation fault!

    Hi everyone.
    I installed Oracle 8.0.5.1 Enterprise Edition on a RedHat 6.0 box
    with 2 Pentium III processors. The installation went smoothly but
    when I ran the svrmgrl the familiar message "segmentation fault
    (core dumped)" appears. The funny thing is that I have installed
    the same product on a SuSE 6.1 with a Pentium II 233Mhz and it
    runs OK.
    Any suggestions?
    null

    Albert Chan (guest) wrote:
    : Kostas Zorbadelos (guest) wrote:
    : : Hi everyone.
    : : I installed Oracle 8.0.5.1 Enterprise Edition on a RedHat 6.0
    : box
    : : with 2 Pentium III processors. The installation went smoothly
    : but
    : : when I ran the svrmgrl the familiar message "segmentation
    fault
    : : (core dumped)" appears. The funny thing is that I have
    : installed
    : : the same product on a SuSE 6.1 with a Pentium II 233Mhz and
    it
    : : runs OK.
    : : Any suggestions?
    : I have this problem too. I read the Oracle-HOWTO document and
    : recompiled and loaded the iBCS. But the problem still happen.
    My
    : PC running AMD K3 400Mhz (one CPU only), 64MRam
    : I also updated my kernel to 2.2.10 and updated the iBCS to 2.1
    : According to your situation, it seems to be a problem of Red
    Hat.
    : Is there anyone in Red Hat can help?
    I also experienced the same problem with RedHat 6.0 but I also
    noticed that I have untarred everything under /home/oracle in
    which there is a bin directory under which svrmgrl works and I
    can start and shutdown, run sql plus etc... It seems to be a
    problem with the re-linking.
    Julien
    null

  • SQL Loader bug

    2 day ago I meet with problem to load text file to Oracle DB with
    SQL statment in control file. It's my control file:
    LOAD DATA
    INFILE '/tmp/123/22-12.txt'
    REPLACE
    INTO TABLE VL_LOG
    (date_time SYSDATE,
    SOURCE POSITION(02:16)
    "TRUNC(SUBSTR(:SOURCE,1,3))*16777216+TRUNC(SUBSTR(:SOURCE,INSTR(:
    SOURCE,'.')+1,3))*65536+TRUNC(SUBSTR(:SOURCE,INSTR(:SOURCE,'.',1,
    2)+1,3))*256+RTRIM(SUBSTR(:SOURCE,INSTR(:SOURCE,'.',-1)+1))",
    DESTINATION POSITION(19:33)
    "TRUNC(SUBSTR(:DESTINATION,1,3))*16777216+TRUNC(SUBSTR(:DESTINATI
    ON,INSTR(:DESTINATION,'.')+1,3))*65536+TRUNC(SUBSTR(:DESTINATION,
    INSTR(:DESTINATION,'.',1,2)+1,3))*256+SUBSTR(:DESTINATION,INSTR(:
    DESTINATION,'.',-1)+1)",
    bytes POSITION(54:72) INTEGER EXTERNAL)
    When I run SQL Loader with this control file my Linux 5.2
    (kernel 2.0.36) say:
    Segmentation fault(core dumped).
    Later I test this and now may say, that error is only when length
    of SQL statment more than 201 bytes(symbols). I think, that input
    buffer for this statment to small and loader fault when attempt
    to translate incomlete string. I know, that Loader may translate
    statments only shorter 258 symbols, and when statment string
    greater 258 show error, but not core dumped!
    Alex Zykov.
    Russia,Tomsk.
    null

    255 is default length. If you need more - specify it exactly as char(2000). You searched wrong forums. I'd suggest you to read manuals instead:
    http://download-west.oracle.com/docs/cd/B10501_01/server.920/a96652/ch06.htm#1006961

  • Segmentation fault from libclntsh.so.10.1

    Hi,
    I try to use Pro*C arrays and have Segmentation fault from libclntsh.so.10.1.
    First I accumulate values in arrays and then INSERT them with help of      EXEC SQL FOR :m_entries_num
              INSERT INTO ETCASHMGR.BUY_ORDER
    statement. If error occurred I try to INSERT values in those arrays in DB using loop look this:
         for (int i = 0; i < m_entries_num; i++)
              EXEC SQL INSERT INTO ETCASHMGR.BUY_ORDER
    First statement works.
    However, if error occurs and control is undertaken by statement with loop segmentation fault occurs immediately.
    Here are stamens (without many fields to make long story shorter).
    void InsertBuyData::execute()
         EXEC SQL WHENEVER SQLERROR GOTO sql_error;
         EXEC SQL SAVEPOINT InsertBuyData_point;
         EXEC SQL FOR :m_entries_num
              INSERT INTO ETCASHMGR.BUY_ORDER
                   ticker_symbol,               
                   order_status,
                   order_timestamp,
                   ATS_fee_code,
                   RS_admintag,
                   MOC_order_flag
              VALUES
                   :p_ticker_symbol,               
                   :p_order_status,
                   TO_TIMESTAMP(:p_order_timestamp, 'yyyymmddhh24miss'),
                   :p_ATS_fee_code,
                   :p_RS_admintag,
                   :p_MOC_order_flag
         return;
    sql_error:
         return sql_error();
    void InsertBuyData::sql_error()
         EXEC SQL WHENEVER SQLERROR GOTO sql_error;
         ostringstream os;
         os << endl << "InsertBuyData::execute" << "     " << sqlca.sqlerrm.sqlerrmc << endl;
         cerr << os.str().c_str();     
    EXEC SQL ROLLBACK TO SAVEPOINT InsertBuyData_point;
         for (int i = 0; i < m_entries_num; i++)
              EXEC SQL INSERT INTO ETCASHMGR.BUY_ORDER
                   ticker_symbol,               
                   order_status,
                   order_timestamp,
                   ATS_fee_code,
                   RS_admintag,
                   MOC_order_flag
              VALUES
                   :p_ticker_symbol[i] ,               
                   :p_order_status[i] ,
                   TO_TIMESTAMP(:p_order_timestamp, 'yyyymmddhh24miss'),
                   :p_ATS_fee_code[i] ,
                   :p_RS_admintag[i] ,
                   :p_MOC_order_flag[i]
         return;
    sql_error:
         os << endl << "InsertBuyData::sql_error" << "     " << sqlca.sqlerrm.sqlerrmc << endl;
         cerr << os.str().c_str();
         return;
    Above I take values from arrays one by one (I don't know why "i" in brackets are not seen).
    Here is backtrace.
    Program received signal SIGSEGV, Segmentation fault.
    [Switching to Thread 182919222464 (LWP 7844)]
    0x0000002a957e2bdf in sqlbls ()
    from /usr/app/oracle/product/10gR2/lib/libclntsh.so.10.1
    (gdb) bt
    #0 0x0000002a957e2bdf in sqlbls ()
    from /usr/app/oracle/product/10gR2/lib/libclntsh.so.10.1
    #1 0x0000002a957d34d0 in sqlbdv ()
    from /usr/app/oracle/product/10gR2/lib/libclntsh.so.10.1
    #2 0x0000002a957cdaf1 in sqlexp ()
    from /usr/app/oracle/product/10gR2/lib/libclntsh.so.10.1
    #3 0x0000002a957c8d55 in sqlcmex ()
    from /usr/app/oracle/product/10gR2/lib/libclntsh.so.10.1
    #4 0x0000002a957c95f4 in sqlcxt ()
    from /usr/app/oracle/product/10gR2/lib/libclntsh.so.10.1
    #5 0x000000000041506b in InsertBuyData::sql_error (this=0x713b00)
    at DBClass.cpp:4281
    #6 0x000000000041326e in InsertBuyData::execute (this=0x713b00)
    at DBClass.cpp:3544
    Thank you for any help.
    YP
    Message was edited by:
    user572296

    Did some one find any solution to the above mentioned issue . I am also facing the same issue. Using Linux 64 bit machine with oracle 10.2client installed in it. but getting the following error.
    Loaded symbols for /usr/lib/oracle/xe/app/oracle/product/10.2.0/client/lib/libnnz10.so
    Reading symbols from /lib64/ld-linux-x86-64.so.2...(no debugging symbols found)...done.
    Loaded symbols for /lib64/ld-linux-x86-64.so.2
    Core was generated by `./AutoLoader'.
    Program terminated with signal 11, Segmentation fault.
    #0 0x00002aab0a0e9a53 in sqlcfx () from /usr/lib/oracle/xe/app/oracle/product/10.2.0/client/lib/libclntsh.so.10.1
    (gdb) bt
    #0 0x00002aab0a0e9a53 in sqlcfx () from /usr/lib/oracle/xe/app/oracle/product/10.2.0/client/lib/libclntsh.so.10.1
    #1 0x00002aab0a0cc149 in sqlcmex () from /usr/lib/oracle/xe/app/oracle/product/10.2.0/client/lib/libclntsh.so.10.1
    #2 0x00002aab0a0cca7c in sqlcxt () from /usr/lib/oracle/xe/app/oracle/product/10.2.0/client/lib/libclntsh.so.10.1
    #3 0x000000000040cbf8 in oracle_logon ()
    #4 0x000000000040bed8 in main ()
    Could someone please help me how to resolve it. Very urgent request :(

  • Load XML File into temporary tables using sql loader

    Hi All,
    I have an XML file as below. I need to insert the contents into a temporary staging table using sql loader. Please advice how I need to do that.
    For example Portfolios should go into a seperate table, and all the tags inside it should be populated in the columns of the table.
    Family should go into a seperate table and all the tags inside it should be populated in the columns of the table.
    Similarly offer, Products etc.
    - <ABSProductCatalog xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    - <ProductSalesHierachy>
    - <Portfolios>
    - <Portfolio productCode="P1">
      <Attribute name="CatalogProductName" value="Access" />
      <Attribute name="Status" value="Active" />
      </Portfolio>
    - <Portfolio productCode="P2">
      <Attribute name="CatalogProductName" value="Data" />
      <Attribute name="Status" value="Active" />
      </Portfolio>
    - <Portfolio productCode="P3">
      <Attribute name="CatalogProductName" value="Voice" />
      <Attribute name="Status" value="Active" />
      </Portfolio>
    - <Portfolio productCode="P4">
      <Attribute name="CatalogProductName" value="Wireless" />
      <Attribute name="Status" value="Active" />
      </Portfolio>
      </Portfolios>
    - <Families>
    - <Family productCode="F1">
      <Attribute name="CatalogProductName" value="Internet Access Services" />
      <Attribute name="Status" value="Active" />
    - <ParentHierarchy>
      <Item productCode="P1" modelType="Portfolio" />
      </ParentHierarchy>
      </Family>
    - <Family productCode="F2">
      <Attribute name="CatalogProductName" value="Local Access Services" />
      <Attribute name="Status" value="Active" />
    - <ParentHierarchy>
      <Item productCode="P2" modelType="Portfolio" />
      </ParentHierarchy>
      </Family>
      </Families>
    - <SubFamilies>
    - <SubFamily productCode="SF1">
      <Attribute name="CatalogProductName" value="Business Internet service" />
      <Attribute name="Status" value="Active" />
    - <ParentHierarchy>
      <Item productCode="F1" modelType="Family" />
      </ParentHierarchy>
      </SubFamily>
      </SubFamilies>
    - <ProductRefs>
    - <ProductRef productCode="WSP1" modelType="Wireline Sales Product">
      <ActiveFlag>Y</ActiveFlag>
    - <ProductHierarchy>
      <SalesHierarchy family="F1" subFamily="SF1" portfolio="P1" primary="Y" />
      <SalesHierarchy family="F2" portfolio="P2" primary="N" />
      <FinancialHierarchy quotaBucket="Voice" strategicProdCategory="Local Voice" />
      </ProductHierarchy>
      </ProductRef>
    - <ProductRef productCode="MSP2" modelType="Handset">
      <ActiveFlag>Y</ActiveFlag>
    - <ProductHierarchy>
      <SalesHierarchy portfolio="P4" primary="Y" />
      </ProductHierarchy>
      </ProductRef>
      </ProductRefs>
      </ProductSalesHierachy>
    - <Offers>
    - <Offer productCode="ABN">
      <OfferName>ABN</OfferName>
      <OfferDescription>ABN Description</OfferDescription>
    - <Segments>
      <Segment>SCG</Segment>
      <Segment>PCG</Segment>
      </Segments>
      <OfferUpdateDate>2009-11-20</OfferUpdateDate>
      <ActiveFlag>Y</ActiveFlag>
      </Offer>
    - <Offer productCode="OneNet">
      <OfferName>OneNet</OfferName>
      <OfferDescription>OneNet Description</OfferDescription>
    - <Segments>
      <Segment>SCG</Segment>
      <Segment>PCG</Segment>
      <Segment>PCG2</Segment>
      </Segments>
      <OfferUpdateDate>2009-11-20</OfferUpdateDate>
      <ActiveFlag>Y</ActiveFlag>
      </Offer>
      </Offers>
    - <Products>
    - <Product productCode="WSP1" modelType="Wireline Sales Product">
      <ProductName>AT&T High Speed Internet</ProductName>
      <ProductDescription>High Speed Internet</ProductDescription>
      <LegacyCoProdIndicator>SBC</LegacyCoProdIndicator>
      <RevenueCBLCode>1234B</RevenueCBLCode>
      <VolumeCBLCode>4567A</VolumeCBLCode>
      <SAARTServiceIDCode>S1234</SAARTServiceIDCode>
      <MarginPercentRequired>Y</MarginPercentRequired>
      <PercentIntl>%234</PercentIntl>
      <UOM>Each</UOM>
      <PriceType>OneTime</PriceType>
      <ProductStatus>Active</ProductStatus>
      <Compensable>Y</Compensable>
      <Jurisdiction>Everywhere</Jurisdiction>
      <ActiveFlag>Y</ActiveFlag>
    - <Availabilities>
      <Availability>SE</Availability>
      <Availability>E</Availability>
      </Availabilities>
    - <Segments>
      <Segment>SCG</Segment>
      <Segment>PCG</Segment>
      </Segments>
      <VDIndicator>Voice</VDIndicator>
      <PSOCCode>PSOC 1</PSOCCode>
      <USBilled>Y</USBilled>
      <MOWBilled>N</MOWBilled>
      <ProductStartDate>2009-11-20</ProductStartDate>
      <ProductUpdateDate>2009-11-20</ProductUpdateDate>
      <ProductEndDate>2010-11-20</ProductEndDate>
    - <AliasNames>
      <AliasName>AT&T HSI</AliasName>
      <AliasName>AT&T Fast Internet</AliasName>
      </AliasNames>
    - <OfferTypes>
      <OfferType productCode="ABN" endDate="2009-11-20" />
      <OfferType productCode="OneNet" />
      </OfferTypes>
    - <DynamicAttributes>
    - <DynamicAttribute dataType="String" defaultValue="2.5 Mbps" name="Speed">
      <AttrValue>1.5 Mbps</AttrValue>
      <AttrValue>2.5 Mbps</AttrValue>
      <AttrValue>3.5 Mbps</AttrValue>
      </DynamicAttribute>
    - <DynamicAttribute dataType="String" name="TransportType">
      <AttrValue>T1</AttrValue>
      </DynamicAttribute>
      </DynamicAttributes>
      </Product>
    - <Product productCode="MSP2" modelType="Handset">
      <ProductName>Blackberry Bold</ProductName>
      <ProductDescription>Blackberry Bold Phone</ProductDescription>
      <LegacyCoProdIndicator />
      <RevenueCBLCode />
      <VolumeCBLCode />
      <SAARTServiceIDCode />
      <MarginPercentRequired />
      <PercentIntl />
      <UOM>Each</UOM>
      <PriceType />
      <ProductStatus>Active</ProductStatus>
      <Compensable />
      <Jurisdiction />
      <ActiveFlag>Y</ActiveFlag>
    - <Availabilities>
      <Availability />
      </Availabilities>
    - <Segments>
      <Segment>SCG</Segment>
      <Segment>PCG</Segment>
      </Segments>
      <VDIndicator>Voice</VDIndicator>
      <PSOCCode />
      <USBilled />
      <MOWBilled />
      <ProductStartDate>2009-11-20</ProductStartDate>
      <ProductUpdateDate>2009-11-20</ProductUpdateDate>
    - <AliasNames>
      <AliasName />
      </AliasNames>
    - <OfferTypes>
      <OfferType productCode="ABN" />
      </OfferTypes>
    - <DynamicAttributes>
    - <DynamicAttribute dataType="String" name="StlmntContractType">
      <AttrValue />
      </DynamicAttribute>
    - <DynamicAttribute dataType="String" name="BMG 2 year price">
      <AttrValue>20</AttrValue>
      </DynamicAttribute>
    - <DynamicAttribute dataType="String" name="MSRP">
      <AttrValue>40</AttrValue>
      </DynamicAttribute>
    - <DynamicAttribute dataType="String" name="BMGAvailableType">
      <AttrValue />
      </DynamicAttribute>
    - <DynamicAttribute dataType="String" name="ProductId">
      <AttrValue>123456</AttrValue>
      </DynamicAttribute>
    - <DynamicAttribute dataType="String" name="modelSource">
      <AttrValue>product</AttrValue>
      </DynamicAttribute>
      </DynamicAttributes>
      </Product>
      </Products>
      <CatalogChanged>Y</CatalogChanged>
      </ABSProductCatalog>

    Two options that come to mind. Others exist.
    #1 - {thread:id=474031}, which is basically storing the XML in an Object Relational structure for parsing
    #2 - Dump the XML into either an XMLType based table or column and use SQL (with XMLTable) to create a view that parses the data. This would be the same as the view shown in the above post.
    Don't use sql*loader to parse the XML. I was trying to find a post from mdrake about that but couldn't. In short, sql*loader was not build as an XML parser so don't try to use it that way.

  • Segment fault (Core dump)

    Hi
    when i run the following Pro*c file in Unix Environment im getting the SEGMENTATION FAULT(CORE DUMP) error. I used DBX to debug the code. I couldnt find out the proper reason for this error form the dbx output.
    This is the output i got from DBX.
    *signal SEGV (no mapping at the fault address) in _doprnt at 0xfb98736c*
    *0xfb98736c: _doprnt+0x2798:     stb     %o0, [%o1]*
    I did the showmemuse and show leaks, the output for this commands :
    (dbx) showmemuse
    Checking for memory use...
    Blocks in use report (blocks in use: 575 total size: 328086 bytes)
    Total % of Num of Avg Allocation call stack
    Size All Blocks Size
    ======= ==== ====== ====== =======================================
    134876 41% 30 4495 kpummapg < kghgex
    18098 5% 1 18098 lxldlbb < lxlinit < kpummpin < kpupin < sqgctx < sqgrct < sqlcmex < sqlcxt
    16552 5% 4 4138 kogmapg < kghgex
    16516 5% 4 4129 kogmapg < kogmasg
    12288 3% 6 2048 nlhtnsl < nlhthnew
    10350 3% 5 2070 calloc < nsbGetBFS
    9688 2% 1 9688 kouogini < kouoini < kpuinit0 < kpuinit < sqgctx < sqgrct < sqlcmex < sqlcxt
    8200 2% 1 8200 findbuf < doprnt < _fprintf < main
    8120 2% 4 2030 sqlrlc < sqlcopydfn
    8080 2% 1 8080 kpuinit0 < kpuinit < sqgctx < sqgrct < sqlcmex < sqlcxt < main
    7168 2% 1 7168 calloc < nsgbliuc < nsgblini < niotns < nigcall < osncon < kpuadef < upiini
    7168 2% 3 2389 lxldlod < lxdlobj
    5976 1% 4 1494 sqlrlc < sqlcopydfn
    4640 1% 1 4640 sqlrlc < sqldrl < sqlexp < sqlcmex < sqlcxt < get_pub_dates < main
    4640 1% 1 4640 sqlrlc < sqlbrl < sqlexp < sqlcmex < sqlcxt < get_pub_dates < main
    4128 1% 1 4128 calloc < nsgbliuc < nsgblini < niotns < nigcall < osncon < kpuadef < upiini
    4024 1% 1 4024 sqlrlc < sqlbrl < sqlexp < sqlcmex < sqlcxt < get_pub_dates < main
    3408 1% 1 3408 sqlrlc < sqldrl < sqlexp < sqlcmex < sqlcxt < get_pub_dates < main
    2452 <1% 8 306 calloc < nsmal
    2156 <1% 7 308 calloc < nlemfins
    (dbx) showleaks
    Checking for memory leaks...
    Actual leaks report (actual leaks: 1 total size: 30 bytes)
    Total Num of Leaked Allocation call stack
    Size Blocks Block
    Address
    ====== ====== ========== =======================================
    30 1 0x9c9c8 getOutFileName < main
    Possible leaks report (possible leaks: 0 total size: 0 bytes)
    i know its because of Pad pointer and something related to Pointer or array overflow. But i couldnt find out where exactly happening....
    Following is my Code, please help me to find out the error and what i need to change in my code:
    #ifndef ORA_PROC
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <time.h>
    #include <ctype.h>
    #include <math.h>
    #else
    typedef struct FILE FILE;
    #endif
    /*** Added by TCS Begins ***/
    char getOutFileName(char );
    char getEnvVar(char );
    void prepare_declare_oracle_cursors();
    void get_calendar_dates();
    void get_issues();
    void get_master_cusip_no();
    void get_run_date_finish();
    void get_payments();
    int get_pub_dates();
    void get_rights();
    void get_s_h_meetings();
    void get_special_codes();
    void get_agents();
    void get_currency();
    void get_payment_codes();
    void get_issue_codes();
    void get_standard_footnotes();
    void get_index_codes();
    void get_exchanges();
    void get_tax_codes();
    void get_tenders();
    int check_if_holiday(int );
    void sql_error(int , int , char *);
    void login_error();
    void no_pub_dates();
    void no_cal_dates();
    void no_finish_date();
    void save_payment_footnote(char , char [3],int , char );
    void save_issue_footnote(char );
    int print_footnotes();
    int print_foreign_tax();
    int get_partial_run_time();
    void save_rght_footnotes();
    int print_supplimental();
    int convert_tender_price(char *);
    void pad_s_h_meetings();
    int strip_out_codes(char *);
    char *getSqlLogonString();
    /**** TCS ADD Ends ****/
    EXEC SQL INCLUDE sqlca;
    EXEC SQL INCLUDE ddr_create_all_tapes.h;
    #define TRUE 1
    #define ORA_NOT_FOUND     ( sqlca.sqlcode == 1403 )
    /* The Definitions of SUCCESS and FAILURE were switched to test the
    idea that SUCCESS should be Zero and FAILURE should be Non-Zero
    #define SUCCESS 1
    #define FAILURE 0
    #define SUCCESS 0
    #define FAILURE -1
    #define SYSOK          0
    #define SYSERR          1
    #define DEBUGGING     0
    #define DEBUG_LEVEL     0
    /*     #define DEBUGGING     1
         #define DEBUG_LEVEL     2
    int          first_cal_date;
    int          footnote_count;
    int          foreign_count;
    int          last_cal_date;
    int          total_records;
    int          which_tape = 0;
    char          cusip_table_name[30];
    char          field_type_code;
    char          final_cusip_number[10];
    /**** char          footnote_text[300][300];
    char          foreign_text[60][100]; **** Commented by TCS as per the change request ****/
    /*** Added by TCS as per the change request ***/
    char          footnote_text[200][300];
    char          foreign_text[200][300];
    /*** TCS Add Ends ***/
    char          freq_type_code;
    char          init_cusip_number[10];
    char          rec_type_code;
    char          payment_where_clause[600];
    char          rights_where_clause[600];
    char          tenders_where_clause[600];
    char          s_h_meet_where_clause[600];
    char          last_run_time[18];
    char          supp_info_buffer[321];
    int          call_flag;
    int          tenders_flag;
    int          rights_flag;
    int          s_h_meet_flag;
    int          rght_foot_pos;
    double          hold_double;
    int          hold_int;
    char          hold_char[100];
    int i=0;
    FILE      *fp;
    FILE     pfp;          / this is used for a report file to correspond to
    the partial tape file */
    int main(int argc, char argv[]) / Modified by TCS */
         char          ddr_tape_name[100];
         char          ddr_partial_rpt[100];
         char          copyright_notice[100];
         long           file_position;
         char           *logname;
         /* READ IN PARAMETERS AND SET UP VARIABLES */
         memset (oracle_uid.arr, 0, sizeof(oracle_uid.arr));
    memset (oracle_pwd.arr, 0, sizeof(oracle_pwd.arr));
    strcpy (oracle_uid.arr, argv[1]);
    oracle_uid.len = strlen(oracle_uid.arr);
    strcpy (oracle_pwd.arr, argv[2]);
    oracle_pwd.len = strlen(oracle_pwd.arr);
    printf("Calling getSqlLogonString");
    logname = getSqlLogonString();
         which_tape = atoi(argv[1]);
         memset (last_run_time, 0, sizeof(last_run_time));
         if ( ( DEBUGGING ) && ( DEBUG_LEVEL > 1 ) )
         printf ("Oracle username: %s\n", oracle_uid.arr);
         printf ("Oracle password: %s\n", oracle_pwd.arr);
         printf ("Oracle username/password@database: %s\n", logname); /** Added by TCS **/
         printf ("Which Tape: %d\n", which_tape);
         hold_double = 0.0;
         hold_int = 0;
         memset (hold_char, ' ', sizeof(hold_char));
         EXEC SQL WHENEVER SQLERROR DO login_error();
    /*      EXEC SQL CONNECT :oracle_uid IDENTIFIED BY :oracle_pwd; */
         EXEC SQL CONNECT :logname ;
         printf ("Connected to ORACLE... \n");
         EXEC SQL WHENEVER SQLERROR continue;
         get_pub_dates();
         memset (ddr_tape_name, 0, sizeof(ddr_tape_name));
         memset (ddr_partial_rpt, 0, sizeof(ddr_partial_rpt));
         memset (cusip_table_name, 0, sizeof(cusip_table_name));
         memset (payment_where_clause, 0, sizeof(payment_where_clause));
         memset (rights_where_clause, 0, sizeof(rights_where_clause));
         memset (tenders_where_clause, 0, sizeof(tenders_where_clause));
         memset (s_h_meet_where_clause, 0, sizeof(s_h_meet_where_clause));
         /* SET UP VARIABLES BASED ON THE DIFFERENT FREQUENCY OF TAPE */
         switch (which_tape)
              case 0:
                   get_partial_run_time();
                   /*sprintf (ddr_tape_name,
                        "idb_tape$out:ddr_partial%1d.asc", p_count); ** Comented by TCS **/
                   sprintf (ddr_tape_name,"%s%1d.%s",getOutFileName("DDR_PARTIAL"),p_count,getEnvVar("DDR_PARTIAL_EXT_ASC")); /* Added by TCS */
                   strcpy (cusip_table_name,
                        "IDB.DDR_PARTIAL_TAPE_TABLE");
                   /*sprintf (ddr_partial_rpt,
                        "idb_tape$out:ddr_partial%1d.rpt", p_count); ** Commented by TCS **/
                   sprintf (ddr_partial_rpt,"%s%1d.%s",getOutFileName("DDR_PARTIAL"),p_count,getEnvVar("DDR_PARTIAL_EXT_RPT")); /* Added by TCS */
                   get_calendar_dates();
                   freq_type_code = '0';
                   sprintf (payment_where_clause,
    "AND PYMT_PUB_DATE IS NULL \
    AND ((PYMT_ADD_DATE_TIME >= TO_DATE('%15.15s', 'DD-MON-RR HH24:MI') \
    AND PYMT_ADD_DATE_TIME < TO_DATE('%15.15s', 'DD-MON-RR HH24:MI')) \
    OR (PYMT_UPD_DATE_TIME >= TO_DATE('%15.15s', 'DD-MON-RR HH24:MI') \
    AND PYMT_UPD_DATE_TIME < TO_DATE('%15.15s', 'DD-MON-RR HH24:MI')))",
    p_from.arr, p_to.arr, p_from.arr, p_to.arr);
                   sprintf (rights_where_clause,
    "AND RGHT_PUB_DATE IS NULL \
    AND ((RGHT_ADD_DATE_TIME >= TO_DATE('%15.15s', 'DD-MON-RR HH24:MI') \
    AND RGHT_ADD_DATE_TIME < TO_DATE('%15.15s', 'DD-MON-RR HH24:MI')) \
    OR (RGHT_UPD_DATE_TIME >= TO_DATE('%15.15s', 'DD-MON-RR HH24:MI') \
    AND RGHT_UPD_DATE_TIME < TO_DATE('%15.15s', 'DD-MON-RR HH24:MI')))",
    p_from.arr, p_to.arr, p_from.arr, p_to.arr);
                   sprintf (tenders_where_clause,
    "AND TNDR_PUB_DATE IS NULL \
    AND ((TNDR_ADD_DATE_TIME >= TO_DATE('%15.15s', 'DD-MON-RR HH24:MI') \
    AND TNDR_ADD_DATE_TIME < TO_DATE('%15.15s', 'DD-MON-RR HH24:MI')) \
    OR (TNDR_UPD_DATE_TIME >= TO_DATE('%15.15s', 'DD-MON-RR HH24:MI') \
    AND TNDR_UPD_DATE_TIME < TO_DATE('%15.15s', 'DD-MON-RR HH24:MI')))",
    p_from.arr, p_to.arr, p_from.arr, p_to.arr);
                   sprintf (s_h_meet_where_clause,
    "AND SMTG_PUB_DATE IS NULL \
    AND ((SMTG_ADD_DATE_TIME >= TO_DATE('%15.15s', 'DD-MON-RR HH24:MI') \
    AND SMTG_ADD_DATE_TIME < TO_DATE('%15.15s', 'DD-MON-RR HH24:MI')) \
    OR (SMTG_UPD_DATE_TIME >= TO_DATE('%15.15s', 'DD-MON-RR HH24:MI') \
    AND SMTG_UPD_DATE_TIME < TO_DATE('%15.15s', 'DD-MON-RR HH24:MI')))",
    p_from.arr, p_to.arr, p_from.arr, p_to.arr);
                   break;
              case 3:
    /*     PARTIAL 5     */
                   get_partial_run_time();
                   p_count = 5;
                   /**sprintf (ddr_tape_name,
                        "idb_tape$out:ddr_partial%1d.asc", p_count); ** Comented by TCS **/
                   sprintf (ddr_tape_name,"%s%1d.%s",getOutFileName("DDR_PARTIAL"),p_count,getEnvVar("DDR_PARTIAL_EXT_ASC")); /* Added by TCS */
    /* for testing only I am using seperate TABLE     */
                   /**strcpy (cusip_table_name,
                        "IDB.DDR_PARTIAL5_TAPE_TABLE"); ** Commented by TCS **/
                   strcpy (cusip_table_name,
                        "IDB.DDR_PARTIAL_TAPE_TABLE");
                   /*sprintf (ddr_partial_rpt,
                        "idb_tape$out:ddr_partial%1d.rpt", p_count); ** Commented by TCS **/
                   sprintf (ddr_tape_name,"%s%1d.%s",getOutFileName("DDR_PARTIAL"),p_count,getEnvVar("DDR_PARTIAL_EXT_RPT")); /* Added by TCS */
                   get_calendar_dates();
                   freq_type_code = '3';
                   sprintf (payment_where_clause,
    "AND ( (PYMT_ADD_DATE_TIME >= TO_DATE('%15.15s', 'DD-MON-RR HH24:MI')) \
    OR (PYMT_UPD_DATE_TIME >= TO_DATE('%15.15s', 'DD-MON-RR HH24:MI')))",
    p_to.arr, p_to.arr);
                   sprintf (rights_where_clause,
    "AND ((RGHT_ADD_DATE_TIME >= TO_DATE('%15.15s', 'DD-MON-RR HH24:MI')) \
    OR (RGHT_UPD_DATE_TIME >= TO_DATE('%15.15s', 'DD-MON-RR HH24:MI')))",
    p_to.arr, p_to.arr);
                   sprintf (tenders_where_clause,
    "AND ((TNDR_ADD_DATE_TIME >= TO_DATE('%15.15s', 'DD-MON-RR HH24:MI')) \
    OR (TNDR_UPD_DATE_TIME >= TO_DATE('%15.15s', 'DD-MON-RR HH24:MI')))",
    p_to.arr, p_to.arr);
                   sprintf (s_h_meet_where_clause,
    "AND ((SMTG_ADD_DATE_TIME >= TO_DATE('%15.15s', 'DD-MON-RR HH24:MI')) \
    OR (SMTG_UPD_DATE_TIME >= TO_DATE('%15.15s', 'DD-MON-RR HH24:MI')))",
    p_to.arr, p_to.arr);
                   break;
              case 1:
                   /**strcpy (ddr_tape_name,
                        "idb_tape$out:ddr_daily_tape.asc"); ** Commented by TCS **/
                   sprintf (ddr_tape_name,"%s",getOutFileName("DDR_DAILY_TAPE_ASC")); /* Added by TCS */
                   strcpy (cusip_table_name,
                        "IDB.DDR_DAILY_TAPE_TABLE");
                   get_calendar_dates();
                   freq_type_code = '1';
                   sprintf (payment_where_clause, "AND (PYMT_PUB_DATE \
    = TO_DATE('%s','DD-MON-RR') OR PYMT_PUB_DATE IS NULL)", pub_to_date.arr);
                   sprintf (rights_where_clause, "AND (RGHT_PUB_DATE \
    = TO_DATE('%s','DD-MON-RR') OR RGHT_PUB_DATE IS NULL)", pub_to_date.arr);
                   sprintf (tenders_where_clause, "AND (TNDR_PUB_DATE \
    = TO_DATE('%s','DD-MON-RR') OR TNDR_PUB_DATE IS NULL)", pub_to_date.arr);
                   sprintf (s_h_meet_where_clause, "AND (SMTG_PUB_DATE \
    = TO_DATE('%s','DD-MON-RR') OR SMTG_PUB_DATE IS NULL)", pub_to_date.arr);
                   break;
              case 5:
                   /*strcpy (ddr_tape_name,
                        "idb_tape$out:ddr_weekly_tape.asc"); ** Commented by TCS **/
                   sprintf (ddr_tape_name, "%s",getOutFileName("DDR_WEEKLY_TAPE_ASC")); /* Added by TCS */
                   strcpy (cusip_table_name,
                        "IDB.DDR_WEEKLY_TAPE_TABLE");
                   get_calendar_dates();
                   freq_type_code = '2';
                   sprintf (payment_where_clause, "AND (PYMT_PUB_DATE \
    BETWEEN to_date('%s','DD-MON-RR') AND to_date('%s','DD-MON-RR') OR PYMT_PUB_DATE IS NULL)",
    pub_from_date.arr, pub_to_date.arr);
                   sprintf (rights_where_clause, "AND (RGHT_PUB_DATE \
    BETWEEN to_date('%s','DD-MON-RR') AND to_date('%s','DD-MON-RR') OR RGHT_PUB_DATE IS NULL)",
    pub_from_date.arr, pub_to_date.arr);
                   sprintf (tenders_where_clause, "AND (TNDR_PUB_DATE \
    BETWEEN to_date('%s','DD-MON-RR') AND to_date('%s','DD-MON-RR') OR TNDR_PUB_DATE IS NULL)",
    pub_from_date.arr, pub_to_date.arr);
                   /* ram - 6/28/95 - reverted back to original criteria: */
                   /* include on weekly tape based on pub-date, regardless of */
                   /* whether in calendar or not */
                   sprintf (s_h_meet_where_clause, "AND (SMTG_PUB_DATE \
    BETWEEN to_date('%s','DD-MON-RR') AND to_date('%s','DD-MON-RR') OR SMTG_PUB_DATE IS NULL)",
    pub_from_date.arr, pub_to_date.arr);
                   break;
              case 12:
                   /* ram - 7/13/95          */
                   /* changed monthly "6" to "12" */
                   /*strcpy (ddr_tape_name,
                        "idb_tape$out:ddr_monthly_tape.asc"); ** Commented by TCS **/
                   sprintf (ddr_tape_name, "%s", getOutFileName("DDR_MONTHLY_TAPE_ASC")); /* Added by TCS */
                   strcpy (cusip_table_name,
                        "IDB.DDR_MONTHLY_TAPE_TABLE");
                   freq_type_code = '3';
                   sprintf (payment_where_clause, "AND (PYMT_PUB_DATE \
    BETWEEN to_date('%s','DD-MON-RR') AND to_date('%s','DD-MON-RR') OR PYMT_PUB_DATE IS NULL)",
    pub_from_date.arr, pub_to_date.arr);
                   sprintf (rights_where_clause, "AND (RGHT_PUB_DATE \
    BETWEEN to_date('%s','DD-MON-RR') AND to_date('%s','DD-MON-RR') OR RGHT_PUB_DATE IS NULL)",
    pub_from_date.arr, pub_to_date.arr);
                   sprintf (tenders_where_clause, "AND (TNDR_PUB_DATE \
    BETWEEN to_date('%s','DD-MON-RR') AND to_date('%s','DD-MON-RR') OR TNDR_PUB_DATE IS NULL)",
    pub_from_date.arr, pub_to_date.arr);
                   break;
              case 8:
                   /*strcpy (ddr_tape_name,
                        "idb_tape$out:ddr_quarterly_tape.asc");** Commented by TCS **/
                   sprintf (ddr_tape_name,"%s",getOutFileName("DDR_QUARTERLY_TAPE_ASC")); /* Added by TCS */
                   strcpy (cusip_table_name,
                        "IDB.DDR_QUARTERLY_TAPE_TABLE");
                   freq_type_code = '3';
                   sprintf (payment_where_clause, "AND (PYMT_PUB_DATE \
    BETWEEN to_date('%s','DD-MON-RR') AND to_date('%s','DD-MON-RR') OR PYMT_PUB_DATE IS NULL)",
    pub_from_date.arr, pub_to_date.arr);
                   sprintf (rights_where_clause, "AND (RGHT_PUB_DATE \
    BETWEEN to_date('%s','DD-MON-RR') AND to_date('%s','DD-MON-RR') OR RGHT_PUB_DATE IS NULL)",
    pub_from_date.arr, pub_to_date.arr);
                   sprintf (tenders_where_clause, "AND (A.TNDR_TENDER_DATE \
    = TO_DATE('%s','DD-MON-RR'))", pub_to_date.arr);               break;
              case 9:
                   /*strcpy (ddr_tape_name,
                        "idb_tape$out:ddr_annual_tape.asc"); ** Comented by TCS **/
                   sprintf (ddr_tape_name,"%s", getOutFileName("DDR_ANNUAL_TAPE_ASC")); /* Added by TCS */
                   strcpy (cusip_table_name,
                        "IDB.DDR_ANNUAL_TAPE_TABLE");
                   freq_type_code = '4';
                   sprintf (payment_where_clause, "AND (PYMT_PUB_DATE \
    BETWEEN to_date('%s','DD-MON-RR') AND to_date('%s','DD-MON-RR') \
    OR PYMT_PUB_DATE = TO_DATE('29-OCT-1929','DD-MON-YYYY'))",
    pub_from_date.arr, pub_to_date.arr);
                   sprintf (rights_where_clause, "AND (RGHT_PUB_DATE \
    BETWEEN to_date('%s','DD-MON-RR') AND to_date('%s','DD-MON-RR') OR RGHT_PUB_DATE IS NULL)",
    pub_from_date.arr, pub_to_date.arr);
                   sprintf (tenders_where_clause, "AND (A.TNDR_TENDER_DATE \
    = TO_DATE('%s','DD-MON-RR'))", pub_to_date.arr);               break;
              case 15:
                   /*strcpy (ddr_tape_name,
                        "idb_tape$out:ddr_general_tape.asc"); ** Commented by TCS **/
                   sprintf (ddr_tape_name,"%s", getOutFileName("DDR_GENERAL_TAPE_ASC")); /* Added by TCS */
                   strcpy (cusip_table_name,
                        "IDB.DDR_GENERAL_TAPE_TABLE");
                   freq_type_code = '3';
                   sprintf (payment_where_clause, "AND (PYMT_PUB_DATE \
    BETWEEN to_date('%s','DD-MON-RR') AND to_date('%s','DD-MON-RR') OR PYMT_PUB_DATE IS NULL)",
    pub_from_date.arr, pub_to_date.arr);
                   sprintf (rights_where_clause, "AND (RGHT_PUB_DATE \
    BETWEEN to_date('%s','DD-MON-RR') AND to_date('%s','DD-MON-RR') OR RGHT_PUB_DATE IS NULL)",
    pub_from_date.arr, pub_to_date.arr);
                   sprintf (tenders_where_clause, "AND (A.TNDR_TENDER_DATE \
    = TO_DATE('%s','DD-MON-RR'))", pub_to_date.arr);               break;
              default:
                   exit (printf ("Invalid tape option: %d\n", which_tape)); /*** %s changed by TCS to %d ***/
                   break;
         if ((fp = fopen(ddr_tape_name, "w+")) == NULL)
              exit (printf ("Unable to open asc <%s> file for write access\n",
                   ddr_tape_name));
    /*     GR. Partial 5
         if (which_tape == 0 || which_tape == 3 )
              if ((pfp = fopen(ddr_partial_rpt, "w+")) == NULL)
                   exit (printf ("Unable to open asc <%s> file \
    for write access\n", ddr_partial_rpt));
         /* WRITE THE HEADER RECORD ON THE TAPE */
         memset (copyright_notice, 0, sizeof(copyright_notice));
         sprintf (copyright_notice, "COPYRIGHT (c) %.4s STANDARD & POOR'S \
    CORPORATION. ALL RIGHTS RESERVED", year.arr);
         fprintf (fp, "%-80.80sDIVIDEND%8d%17.17s ",
    copyright_notice, control_date, run_date_start.arr);
         file_position = ftell(fp);
         fprintf (fp, "\n");
         total_records = 0;
         /* GET THE SPECIAL CATEGORY RECORDS */
         get_special_codes();
         /* SELECT FROM THE DRIVER TABLE TO GET ALL THE OTHER RECORDS */
         get_master_cusip_no();
         printf("After get_master_cusip_no()");
         get_run_date_finish();
         printf("After get_run_date_finish()");
         if ( DEBUGGING )
              printf ("initial cusip = %s\n", init_cusip_number);
              printf ("final cusip = %s\n", final_cusip_number);
              printf ("record type is %c\n", rec_type_code);
         /* WRITE THE TRAILER RECORD */
         fprintf (fp, "%8d%-17.17s%07d%-9.9s1%-9.9s%c\n", control_date,
    run_date_finish.arr, total_records, init_cusip_number , final_cusip_number,
    rec_type_code);
         /* re-wind and add to the header record ... */
         rewind(fp);
         fseek(fp, file_position - 33, 0);
         fprintf (fp, "%07d%-9.9s1%-9.9s%c", total_records, init_cusip_number,
    final_cusip_number, rec_type_code);
         fclose(fp);
    /*     GR Partial 5
         if (which_tape == 0 || which_tape == 3 )
              fclose(pfp);
         printf ("\nDONE: %07d%-9.9s1%-9.9s%c\n", total_records, init_cusip_number,
    final_cusip_number, rec_type_code);
    return (0); /*** Added by TCS ***/
    void prepare_declare_oracle_cursors() /* Modified by TCS */
         /* We'll us dynamic sql to get the appropriate where clause but use */
         /* a bind variable for the master cusip number. So we prepare and */
         /* declare get_issues, get_payments, get_tenders, get rights, and */
         /* get_s_h_meetings cursors only once, outside the driving loop. */
         EXEC SQL BEGIN DECLARE SECTION;
              /**** TCS Comment begins as per the change request ****
              VARCHAR          sql_stmt1[1500];*/     /* issues */
              /*VARCHAR          sql_stmt2[3000];     *//* payments */
              /*VARCHAR          sql_stmt3[500];          *//* tenders */
              /*VARCHAR          sql_stmt4[500];          *//* rights */
              /*VARCHAR          sql_stmt5[500];          *//* s_h_meetings */
              /**** TCS Add begins as per the change request ****/
              VARCHAR          sql_stmt1[2000];     /* issues */
              VARCHAR          sql_stmt2[4000];     /* payments */
              VARCHAR          sql_stmt3[1000];     /* tenders */
              VARCHAR          sql_stmt4[1000];     /* rights */
              VARCHAR          sql_stmt5[1000];     /* s_h_meetings */
              /**** TCS Add ends ****/
         EXEC SQL END DECLARE SECTION;
         /* prepare and declare the get_issues cursor */
         memset (sql_stmt1.arr, 0, sizeof(sql_stmt1.arr));
         sprintf (sql_stmt1.arr, "SELECT \
    A.ISSU_PAR_VALUE, \
    DECODE (A.ISSU_MARKET_SYMBOL||A.ISSU_NASDAQ,'OTCY','NASD', A.ISSU_MARKET_SYMBOL), \
    A.ISSU_C_RATE, A.ISSU_C_FREQ, A.ISSU_C_NEW_AMOUNT, A.ISSU_C_NEW_Q1, \
    A.ISSU_C_NEW_Q2, A.ISSU_C_NEW_Q3, A.ISSU_C_OLD_AMOUNT, A.ISSU_C_OLD_Q1, \
    A.ISSU_C_OLD_Q2, A.ISSU_C_OLD_Q3, A.ISSU_CURRENCY, \
    A.ISSU_UPD_HIS, A.ISSU_COMMENT, A.TAX_EXEMPT_FLAG,\
    B.SEC_TYPE_CODE, B.ACQ_BY_IND, B.ACQ_ISSUER_NO, \
    rtrim(substr(B.ACQ_ISSUER_DESCR,1,30)), \
    B.INDEX_CODE, B.TRFR_AGT_CODE, B.NY_AGT_CODE, B.TICKER_SYMBOL, \
    B.TICKER_SYMBOL2, \
    rtrim(substr(C.ISSR_DDR_ISSUER_DESCR,1,60)), \
    rtrim(substr(E.ISSUE_DESCR,1,30)), \
    rtrim(substr(D.ISSUER_DESCR1,1,30)), \
    F.TRFR_DAYS \
    FROM IDB.DDR_ISSUES A, IDB.DDR_ISSUES_2 B, IDB.DDR_ISSUERS C, \
    BLIS.CUSIP_ISSUERS D, BLIS.CUSIP_ISSUES E, IDB.DDR_TRANSFER F \
    WHERE A.ISSU_CUSIP_NO = :master_cusip_no \
    AND A.ISSU_CUSIP_NO = B.ISSU_CUSIP_NO(+) \
    AND SUBSTR(A.ISSU_CUSIP_NO, 1, 6) = C.ISSR_ISSUER_NO(+) \
    AND SUBSTR(A.ISSU_CUSIP_NO, 1, 6) = D.ISSUER_NO \
    AND A.ISSU_CUSIP_NO = E.CUSIP_NO \
    AND A.ISSU_TRANSFER_CODE = F.TRFR_TR_CD(+) ");
         sql_stmt1.len = strlen(sql_stmt1.arr);
         EXEC SQL PREPARE ISSUES FROM :sql_stmt1;
         if (sqlca.sqlcode)
              sql_error (SYSERR, sqlca.sqlcode,
                   "Error in preparing ISSUES");
         EXEC SQL DECLARE ISSUES_C CURSOR FOR ISSUES;
         if (sqlca.sqlcode)
              sql_error (SYSERR, sqlca.sqlcode,
                   "Error in declaring ISSUES");
         /* now the get_payments cursor */
         memset (sql_stmt2.arr, 0, sizeof(sql_stmt2.arr));
         sprintf (sql_stmt2.arr, "SELECT \
    a.PYMT_RP_DIV, \
    a.PYMT_RP_DEC, \
    a.PYMT_RP_EXD, \
    a.PYMT_RP_REC, \
    a.PYMT_RP_PAY, \
    a.PYMT_RP_DUE, \
    a.PYMT_RP_TAX, \
    a.PYMT_RP_ANN, \
    a.PYMT_PRP_DIV, \
    a.PYMT_PRP_DEC, \
    a.PYMT_PRP_EXD, \
    a.PYMT_PRP_REC, \
    a.PYMT_PRP_PAY, \
    a.PYMT_PRP_DUE, \
    a.PYMT_PRP_TAX, \
    a.PYMT_PRP_ANN, \
    NVL(a.PYMT_SEQ_NO,0), \
    TO_CHAR(a.PYMT_DECLARED, 'YYMMDD'), \
    TO_CHAR(a.PYMT_EX_DATE, 'YYMMDD'), \
    TO_CHAR(a.PYMT_STK_REC, 'YYMMDD'), \
    TO_CHAR(a.PYMT_TRANSFER_DATE, 'YYMMDD'), \
    TO_CHAR(a.PYMT_PAYABLE, 'YYMMDD'), \
    a.PYMT_CODES, \
    NVL(a.PYMT_CASH_DIVD,0.0), \
    NVL(b.ORDINARY_INCOME,0.0), \
    NVL(b.CAP_GAINS,0.0), \
    NVL(b.SHORT_TM_CAP_GAINS,0.0), \
    NVL(b.LONG_TM_CAP_GAINS,0.0), \
    NVL(b.RETURN_OF_CAPITAL,0.0), \
    b.STK_DIVD_IND, \
    NVL(a.PYMT_STK_DIVD,0), \
    b.FRAC_IN_CASH_STK_IND, \
    NVL(b.FRAC_IN_CASH_PRICE,0.0), \
    NVL(a.PYMT_SPLIT_NEW,0), \
    NVL(a.PYMT_SPLIT_OLD,0), \
    TO_CHAR(a.PYMT_DB_DATE, 'YYMMDD'), \
    NVL(b.ARREARS_PAID,0.0), \
    NVL(b.ARREARS_DUE,0.0), \
    b.SPINOFF_IND, \
    b.SPINOFF_ISSUE_NO, \
    b.SPINOFF_ISSUER_DESCR, \
    b.SPINOFF_ISSUE_DESCR, \
    NVL(b.TAX_CODE,0), \
    NVL(b.TAX_CODE_2,0), \
    NVL(b.OLD_SEQ_NO,0), \
    b.ORDINARY_INCOME_CODE, \
    b.CAP_GAINS_CODE, \
    b.SHORT_TM_CAP_GAINS_CODE, \
    b.LONG_TM_CAP_GAINS_CODE, \
    b.RETURN_OF_CAPITAL_CODE, \
    TO_CHAR(b.CALL_DATE, 'YYMMDD'), \
    NVL(b.CALL_PRICE,0.0), \
    b.CALL_PRICE_CURRENCY, \
    b.CALL_AGT_NO, \
    b.ACCRUED_DIVD_IND, \
    TO_CHAR(a.PYMT_DB_DATE, 'YYMMDD'), \
    a.PYMT_DB_TEXT, \
    a.PYMT_DVD_TEXT, \
    a.PYMT_YEAR, \
    TO_CHAR(a.PYMT_STK_REC, 'fmMon dd'), \
    TO_CHAR(a.PYMT_DB_DATE, 'fmMon dd'), \
    b.NY_CALL_AGT_NO, \
    NVL(b.FOREIGN_TAX_RATE, 0.0), \
    NVL(b.NET_RATE, 0.0), \
    NVL(b.FEE, 0.0), \
    NVL(b.COMMISSION, 0.0), \
    a.PYMT_CASH_DIVD_FNS, \
    a.PYMT_STK_DIVD_FNS, \
    a.PYMT_DECLARED_FNS, \
    a.PYMT_EX_DATE_FNS, \
    a.PYMT_STK_REC_FNS, \
    a.PYMT_PAYABLE_FNS, \
    a.PYMT_SPLIT_FNS, \
    NVL (TO_NUMBER (TO_CHAR(a.PYMT_PUB_DATE, 'YYYYMMDD')), 0), \
    NVL (TO_NUMBER (TO_CHAR(a.PYMT_TRANSFER_DATE, 'YYYYMMDD')), 0), \
    NVL (TO_NUMBER (TO_CHAR(a.PYMT_STK_REC, 'YYYYMMDD')), 0), \
    NVL (TO_NUMBER (TO_CHAR(a.PYMT_DB_DATE, 'YYYYMMDD')), 0) \
    FROM IDB.DDR_PAYMENTS A, IDB.DDR_PAYMENTS_2 B \
    WHERE A.PYMT_CUSIP_NO = :master_cusip_no \
    AND A.PYMT_CUSIP_NO = B.PYMT_CUSIP_NO (+) \
    AND A.PYMT_SEQ_NO = B.PYMT_SEQ_NO (+) \
    AND NVL(INSTR(A.PYMT_CODES,'CO'),0) NOT IN (1,3,5,7,9,11) ");
         strcat (sql_stmt2.arr, payment_where_clause);
         sql_stmt2.len = strlen(sql_stmt2.arr);
         EXEC SQL PREPARE PAYMENTS FROM :sql_stmt2;
         if (sqlca.sqlcode)
              sql_error (SYSERR, sqlca.sqlcode,
                   "Error in preparing PAYMENTS");
         EXEC SQL DECLARE PAYMENTS_C CURSOR FOR PAYMENTS;
         if (sqlca.sqlcode)
              sql_error (SYSERR, sqlca.sqlcode,
                   "Error in declaring PAYMENTS");
         /* now the get_tenders cursor */
         memset (sql_stmt3.arr, 0, sizeof(sql_stmt3.arr));
    /* FXL ADD SUBSTR to tndr_price_qual: substr(A.TNDR_PRICE_QUAL,1,14), 3/23/99,
    to to_number 3/29/99 */
         sprintf (sql_stmt3.arr, "SELECT \
    B.TNDR_AGT_NO, \
    B.NY_AGT_NO, \
    TO_CHAR(A.TNDR_TENDER_DATE, 'YYMMDD'), \
    A.TNDR_PRICE, \
    to_number(A.TNDR_PRICE_QUAL), \
    A.TNDR_TE_SIZE, \
    TNDR_TE_TEXT_1 \
    FROM IDB.DDR_TENDERS A, IDB.DDR_TENDERS_2 B \
    WHERE TNDR_CUSIP_NO = :master_cusip_no \
    AND TNDR_CUSIP_NO = TNDR_ISSUE_NO(+) \
    AND A.TNDR_TENDER_DATE = B.TNDR_TENDER_DATE(+) ");
         strcat (sql_stmt3.arr, tenders_where_clause);
         sql_stmt3.len = strlen(sql_stmt3.arr);
         EXEC SQL PREPARE TENDERS FROM :sql_stmt3;
         if (sqlca.sqlcode)
              sql_error (SYSERR, sqlca.sqlcode,
                   "Error in preparing TENDERS");
         EXEC SQL DECLARE TENDERS_C CURSOR FOR TENDERS;
         if (sqlca.sqlcode)
              sql_error (SYSERR, sqlca.sqlcode,
                   "Error in declaring TENDERS");
         /* now the get_rights cursor */
         memset (sql_stmt4.arr, 0, sizeof(sql_stmt4.arr));
    /* ADD TO_CHAR(A.RGHT_DB_DATE, 'YYMMDD') */
         sprintf (sql_stmt4.arr, "SELECT \
    B.NO_RIGHTS_ISSUED, \
    B.SHS_REQ_FOR_PURCH, \
    B.RGHTS_REQUIRED, \
    B.QTY_SHS_PURCHASED, \
    B.TYPE_SHS_ELIGIBLE, \
    B.NEW_SHS_CUSIP_NO, \
    B.NEW_CO_ISSUER_DESCR, \
    TO_CHAR(A.RGHT_RECORD, 'YYMMDD'), \
    TO_CHAR(A.RGHT_EX_DATE, 'YYMMDD'), \
    TO_CHAR(B.NYC_RECORD_DATE, 'YYMMDD'), \
    TO_CHAR(A.RGHT_EXPIRE, 'YYMMDD'), \
    TO_CHAR(A.RGHT_DB_DATE, 'YYMMDD'), \
    A.RGHT_PRICE, \
    NVL(A.RGHT_RECORD_FNS,' '), \
    NVL(A.RGHT_EXPIRE_FNS,' '), \
    NVL(A.RGHT_EX_DATE_FNS,' '), \
    NVL(A.RGHT_PRICE_FNS,' '), \
    NVL(A.RGHT_BASIS_FNS,' '), \
    A.RGHT_FOOTNOTE, \
    B.US_INELIGIBILITY_IND, \
    B.RGHT_TRFR_IND \
    FROM IDB.DDR_RIGHTS A, IDB.DDR_RIGHTS_2 B \
    WHERE RGHT_CUSIP_NO = :master_cusip_no \
    AND RGHT_CUSIP_NO = RGHT_ISSUE_NO(+) \
    AND A.RGHT_RECORD = B.RGHT_RECORD_DATE(+) ");
         strcat (sql_stmt4.arr, rights_where_clause);
         sql_stmt4.len = strlen(sql_stmt4.arr);
         EXEC SQL PREPARE RIGHTS FROM :sql_stmt4;
         if (sqlca.sqlcode)
              sql_error (SYSERR, sqlca.sqlcode,
                   "Error in preparing RIGHTS");
         EXEC SQL DECLARE RIGHTS_C CURSOR FOR RIGHTS;
         if (sqlca.sqlcode)
              sql_error (SYSERR, sqlca.sqlcode,
                   "Error in declaring RIGHTS");
         /* ram - added logic on 7/18/95 */
         /* for the standard footnotes cursor */
         EXEC SQL DECLARE STANDARD_FOOTNOTES_C CURSOR
         FOR
         SELECT SFTN_S_F_TEXT, SFTN_S_F_TYPE
         FROM IDB.DDR_STANDARD_FOOTNOTES
         WHERE SFTN_S_F_TYPE = :standard_footnote_type;
         if (sqlca.sqlcode)
              sql_error (SYSERR, sqlca.sqlcode,
                   "Error in declaring STANDARD_FOOTNOTES");
         /* now the issue footnotes cursor */
         EXEC SQL DECLARE ISSUE_FOOTNOTES_C CURSOR
         FOR
         SELECT FTNT_F_TEXT, FTNT_F_TYPE
         FROM IDB.DDR_FOOTNOTES
         WHERE FTNT_CUSIP_NO = :master_cusip_no
         AND FTNT_SYMBOL = :footnote_symbol
         AND FTNT_YEAR IS NULL;
         if (sqlca.sqlcode)
              sql_error (SYSERR, sqlca.sqlcode,
                   "Error in declaring ISSUE_FOOTNOTES");
         /* now the payment footnotes cursor */
         EXEC SQL DECLARE PAYMENT_FOOTNOTES_C CURSOR
         FOR
         SELECT FTNT_F_TEXT, FTNT_F_TYPE
         FROM IDB.DDR_FOOTNOTES
         WHERE FTNT_CUSIP_NO = :master_cusip_no
         AND FTNT_SYMBOL = :footnote_symbol
         AND FTNT_YEAR = :footnote_year;
         if (sqlca.sqlcode)
              sql_error (SYSERR, sqlca.sqlcode,
                   "Error in declaring PAYMENT_FOOTNOTES");
         /* now the get_s_h_meetings cursor */
         /* ONLY for certain tape types. */
    /*     GR PARTial 5
         if (which_tape == 0 || which_tape == 3 || which_tape == 1 || which_tape == 5)
              memset (sql_stmt5.arr, 0, sizeof(sql_stmt5.arr));
              /* ram - 6/15/95 - changed ORigunal to smtg */
              /* TO_CHAR(ORIGINAL_REC_DATE, 'YYMMDD'), \ */
              sprintf (sql_stmt5.arr, "SELECT \
    TO_CHAR(SMTG_MTG_DATE, 'YYMMDD'), \
    TO_CHAR(SMTG_REC_DATE, 'YYMMDD'), \
    SMTG_FOOTNOTE \
    FROM IDB.DDR_S_H_MEETINGS \
    WHERE SMTG_CUSIP_NO = :master_cusip_no ");
              strcat (sql_stmt5.arr, s_h_meet_where_clause);
              sql_stmt5.len = strlen(sql_stmt5.arr);
              EXEC SQL PREPARE S_H_MEET FROM :sql_stmt5;
              if (sqlca.sqlcode)
                   sql_error (SYSERR, sqlca.sqlcode,
                        "Error in preparing S_H_MEET");
              EXEC SQL DECLARE S_H_MEET_C CURSOR FOR S_H_MEET;
              if (sqlca.sqlcode)
                   sql_error (SYSERR, sqlca.sqlcode,
                        "Error in declaring S_H_MEET");
         } /* end of if (which_tape == 0 || which_tape == 1 || which_tape == 5) */
    /* replaced get_calendar_dates function with use of PLSQL - ram - 5/24/95 */
    void get_calendar_dates() /* Modified by TCS */
         /* put first and last calendar dates into global ints */
         /* first_cal_date and last_cal_date (YYYYMMDD) using */
         /* ddr package function get_business_days. */
         /* The package object ddr is owned by idb, so I'll */
         /* specify this, just in case accounts other than idb */
         /* run this code. (EXECUTE priviledge is granted to */
         /* "idb_user" role.) */
    EXEC SQL BEGIN DECLARE SECTION;
              int          cal_start;
              int          cal_end;
              int          return_val;
    EXEC SQL END DECLARE SECTION;
         /* initialize destination globals */

    You actually need to run it with "check -access"; memuse and leaks won't help with the crash, which happens because of illegal memory access. Hopefully, "check -access" will help you to locate the bad guy, but that's not panacea either.
    To be precise:
    - start dbx
    $ dbx <your app>
    - issue
    (dbx) check -access
    (dbx) run
    and wait for dbx to stop and report suspicious memory access.

  • I'm getting a segmentation fault on the laptop

    I'm getting a segmentation fault when trying to upgrade system (pacman -Syu).
    This happened after my battery went empy (this is a laptop).
    Here goes the output of `pacman -Syu --debug':
    debug: config: attempting to read file /etc/pacman.conf
    debug: config: new section 'options'
    debug: config: HoldPkg: pacman
    debug: config: HoldPkg: glibc
    debug: config: SyncFirst: pacman
    debug: config: architecture: x86_64
    debug: config: showsize
    debug: config: usedelta
    debug: config: totaldownload
    debug: config: new section 'core'
    debug: registering sync database 'core'
    debug: config file /etc/pacman.conf, line 64: including /etc/pacman.d/mirrorlist
    debug: config: attempting to read file /etc/pacman.d/mirrorlist
    debug: adding new server URL to database 'core': http://mirrors.kernel.org/archlinux/core/os/x86_64
    debug: adding new server URL to database 'core': http://mirror.archlinux.no/core/os/x86_64
    debug: adding new server URL to database 'core': http://archlinux.uib.no/core/os/x86_64
    debug: setlibpaths() called
    debug: option 'cachedir' = /var/cache/pacman/pkg/
    debug: config: finished parsing /etc/pacman.d/mirrorlist
    debug: config: new section 'extra'
    debug: registering sync database 'extra'
    debug: config file /etc/pacman.conf, line 67: including /etc/pacman.d/mirrorlist
    debug: config: attempting to read file /etc/pacman.d/mirrorlist
    debug: adding new server URL to database 'extra': http://mirrors.kernel.org/archlinux/extra/os/x86_64
    debug: adding new server URL to database 'extra': http://mirror.archlinux.no/extra/os/x86_64
    debug: adding new server URL to database 'extra': http://archlinux.uib.no/extra/os/x86_64
    debug: config: finished parsing /etc/pacman.d/mirrorlist
    debug: config: new section 'community'
    debug: registering sync database 'community'
    debug: config file /etc/pacman.conf, line 73: including /etc/pacman.d/mirrorlist
    debug: config: attempting to read file /etc/pacman.d/mirrorlist
    debug: adding new server URL to database 'community': http://mirrors.kernel.org/archlinux/community/os/x86_64
    debug: adding new server URL to database 'community': http://mirror.archlinux.no/community/os/x86_64
    debug: adding new server URL to database 'community': http://archlinux.uib.no/community/os/x86_64
    debug: config: finished parsing /etc/pacman.d/mirrorlist
    debug: config: new section 'multilib'
    debug: registering sync database 'multilib'
    debug: config file /etc/pacman.conf, line 86: including /etc/pacman.d/mirrorlist
    debug: config: attempting to read file /etc/pacman.d/mirrorlist
    debug: adding new server URL to database 'multilib': http://mirrors.kernel.org/archlinux/multilib/os/x86_64
    debug: adding new server URL to database 'multilib': http://mirror.archlinux.no/multilib/os/x86_64
    debug: adding new server URL to database 'multilib': http://archlinux.uib.no/multilib/os/x86_64
    debug: config: finished parsing /etc/pacman.d/mirrorlist
    debug: config: new section 'archlinuxfr'
    debug: registering sync database 'archlinuxfr'
    debug: adding new server URL to database 'archlinuxfr': http://repo.archlinux.fr/x86_64
    debug: config: new section 'nightly'
    debug: registering sync database 'nightly'
    debug: adding new server URL to database 'nightly': http://nightly.uhuc.de/x86_64
    debug: config: finished parsing /etc/pacman.conf
    debug: registering local database
    :: Synchronizing package databases...
    debug: destfile found, using mtime only
    debug: using 'core.db.tar.gz' for download progress
    debug: HTTP_PROXY: (null)
    debug: http_proxy: (null)
    debug: FTP_PROXY: (null)
    debug: ftp_proxy: (null)
    debug: ust.mtime: 1288548030 local_time: 1288548030 compare: 0
    debug: ust.size: 36523 local_size: 36523 compare: 0
    debug: files are identical, skipping core.db.tar.gz
    core is up to date
    debug: destfile found, using mtime only
    debug: using 'extra.db.tar.gz' for download progress
    debug: HTTP_PROXY: (null)
    debug: http_proxy: (null)
    debug: FTP_PROXY: (null)
    debug: ftp_proxy: (null)
    debug: ust.mtime: 1288548042 local_time: 1288548042 compare: 0
    debug: ust.size: 487079 local_size: 487079 compare: 0
    debug: files are identical, skipping extra.db.tar.gz
    extra is up to date
    debug: destfile found, using mtime only
    debug: using 'community.db.tar.gz' for download progress
    debug: HTTP_PROXY: (null)
    debug: http_proxy: (null)
    debug: FTP_PROXY: (null)
    debug: ftp_proxy: (null)
    debug: ust.mtime: 1288545853 local_time: 1288545853 compare: 0
    debug: ust.size: 398944 local_size: 398944 compare: 0
    debug: files are identical, skipping community.db.tar.gz
    community is up to date
    debug: destfile found, using mtime only
    debug: using 'multilib.db.tar.gz' for download progress
    debug: HTTP_PROXY: (null)
    debug: http_proxy: (null)
    debug: FTP_PROXY: (null)
    debug: ftp_proxy: (null)
    debug: ust.mtime: 1288386951 local_time: 1288386951 compare: 0
    debug: ust.size: 21675 local_size: 21675 compare: 0
    debug: files are identical, skipping multilib.db.tar.gz
    multilib is up to date
    debug: destfile found, using mtime only
    debug: using 'archlinuxfr.db.tar.gz' for download progress
    debug: HTTP_PROXY: (null)
    debug: http_proxy: (null)
    debug: FTP_PROXY: (null)
    debug: ftp_proxy: (null)
    debug: ust.mtime: 1288452825 local_time: 1288452825 compare: 0
    debug: ust.size: 21807 local_size: 21807 compare: 0
    debug: files are identical, skipping archlinuxfr.db.tar.gz
    archlinuxfr is up to date
    debug: destfile found, using mtime only
    debug: using 'nightly.db.tar.gz' for download progress
    debug: HTTP_PROXY: (null)
    debug: http_proxy: (null)
    debug: FTP_PROXY: (null)
    debug: ftp_proxy: (null)
    debug: ust.mtime: 1288324936 local_time: 1288324936 compare: 0
    debug: ust.size: 21349 local_size: 21349 compare: 0
    debug: files are identical, skipping nightly.db.tar.gz
    nightly is up to date
    debug: loading package cache for repository 'local'
    debug: database path for tree local set to /var/lib/pacman/local/
    debug: loading package cache for repository 'core'
    debug: database path for tree core set to /var/lib/pacman/sync/core/
    :: Starting full system upgrade...
    debug: checking for package upgrades
    debug: loading package cache for repository 'extra'
    debug: database path for tree extra set to /var/lib/pacman/sync/extra/
    debug: new version of 'aalib' found (1.4rc5-6 => 1.4rc5-7)
    debug: adding package aalib-1.4rc5-7 to the transaction targets
    debug: loading package cache for repository 'community'
    debug: database path for tree community set to /var/lib/pacman/sync/community/
    debug: loading package cache for repository 'multilib'
    debug: database path for tree multilib set to /var/lib/pacman/sync/multilib/
    debug: loading package cache for repository 'archlinuxfr'
    debug: database path for tree archlinuxfr set to /var/lib/pacman/sync/archlinuxfr/
    debug: loading package cache for repository 'nightly'
    debug: database path for tree nightly set to /var/lib/pacman/sync/nightly/
    debug: new version of 'awesome' found (3.4.7-1 => 3.4.8-1)
    debug: adding package awesome-3.4.8-1 to the transaction targets
    debug: new version of 'chromium' found (6.0.472.62-1 => 7.0.517.43-1)
    debug: adding package chromium-7.0.517.43-1 to the transaction targets
    debug: new version of 'compositeproto' found (0.4.1-1 => 0.4.2-1)
    debug: adding package compositeproto-0.4.2-1 to the transaction targets
    debug: new version of 'damageproto' found (1.2.0-1 => 1.2.1-1)
    debug: adding package damageproto-1.2.1-1 to the transaction targets
    debug: new version of 'dhcpcd' found (5.2.7-1 => 5.2.8-1)
    debug: adding package dhcpcd-5.2.8-1 to the transaction targets
    debug: new version of 'emesene' found (1.6.3-3 => 1.6.3-4)
    debug: adding package emesene-1.6.3-4 to the transaction targets
    debug: new version of 'fixesproto' found (4.1.1-1 => 4.1.2-1)
    debug: adding package fixesproto-4.1.2-1 to the transaction targets
    debug: new version of 'fontsproto' found (2.1.0-1 => 2.1.1-1)
    debug: adding package fontsproto-2.1.1-1 to the transaction targets
    debug: new version of 'gimp' found (2.6.10-2 => 2.6.11-1)
    debug: adding package gimp-2.6.11-1 to the transaction targets
    debug: new version of 'gparted' found (0.6.4-1 => 0.7.0-1)
    debug: adding package gparted-0.7.0-1 to the transaction targets
    debug: new version of 'jre' found (6u22-2 => 6u22-3)
    debug: adding package jre-6u22-3 to the transaction targets
    debug: new version of 'kernel26' found (2.6.35.7-1 => 2.6.35.8-1)
    debug: adding package kernel26-2.6.35.8-1 to the transaction targets
    debug: new version of 'kernel26-headers' found (2.6.35.7-1 => 2.6.35.8-1)
    debug: adding package kernel26-headers-2.6.35.8-1 to the transaction targets
    debug: new version of 'libdrm-git' found (20101027-1 => 20101029-1)
    debug: adding package libdrm-git-20101029-1 to the transaction targets
    debug: new version of 'libxdmcp' found (1.0.3-1 => 1.1.0-1)
    debug: adding package libxdmcp-1.1.0-1 to the transaction targets
    debug: new version of 'libxft' found (2.1.14-1 => 2.2.0-1)
    debug: adding package libxft-2.2.0-1 to the transaction targets
    debug: new version of 'libxkbfile' found (1.0.6-1 => 1.0.7-1)
    debug: adding package libxkbfile-1.0.7-1 to the transaction targets
    debug: new version of 'libxmu' found (1.0.5-1 => 1.1.0-1)
    debug: adding package libxmu-1.1.0-1 to the transaction targets
    debug: new version of 'libxpm' found (3.5.8-1 => 3.5.9-1)
    debug: adding package libxpm-3.5.9-1 to the transaction targets
    debug: new version of 'libxss' found (1.2.0-1 => 1.2.1-1)
    debug: adding package libxss-1.2.1-1 to the transaction targets
    debug: new version of 'libxtst' found (1.1.0-1 => 1.2.0-1)
    debug: adding package libxtst-1.2.0-1 to the transaction targets
    debug: new version of 'libxv' found (1.0.5-1 => 1.0.6-1)
    debug: adding package libxv-1.0.6-1 to the transaction targets
    debug: new version of 'libxxf86dga' found (1.1.1-1 => 1.1.2-1)
    debug: adding package libxxf86dga-1.1.2-1 to the transaction targets
    debug: new version of 'libxxf86vm' found (1.1.0-1 => 1.1.1-1)
    debug: adding package libxxf86vm-1.1.1-1 to the transaction targets
    debug: new version of 'mlocate' found (0.23.1-1 => 0.23.1-2)
    debug: adding package mlocate-0.23.1-2 to the transaction targets
    debug: new version of 'mpfr' found (3.0.0-2 => 3.0.0.p4-1)
    debug: adding package mpfr-3.0.0.p4-1 to the transaction targets
    debug: new version of 'perl-mp3-info' found (1.24-1 => 1.24-2)
    debug: adding package perl-mp3-info-1.24-2 to the transaction targets
    debug: new version of 'randrproto' found (1.3.1-1 => 1.3.2-1)
    debug: adding package randrproto-1.3.2-1 to the transaction targets
    debug: new version of 'recordproto' found (1.14-1 => 1.14.1-1)
    debug: adding package recordproto-1.14.1-1 to the transaction targets
    debug: new version of 'scrnsaverproto' found (1.2.0-1 => 1.2.1-1)
    debug: adding package scrnsaverproto-1.2.1-1 to the transaction targets
    debug: new version of 'syslinux' found (4.02-1 => 4.03-1)
    debug: adding package syslinux-4.03-1 to the transaction targets
    debug: new version of 'vicious-git' found (20101027-1 => 20101029-1)
    debug: adding package vicious-git-20101029-1 to the transaction targets
    debug: new version of 'wine' found (1.3.5-1 => 1.3.6-1)
    debug: adding package wine-1.3.6-1 to the transaction targets
    debug: new version of 'xplc' found (0.3.13-2 => 0.3.13-3)
    debug: adding package xplc-0.3.13-3 to the transaction targets
    error: segmentation fault
    Internal pacman error: Segmentation fault.
    Please submit a full bug report with --debug if appropriate.
    I've tried running memtest86+ and I'm not having any errors.
    What should I do next?
    This is depressing :´-(

    Hey, thanks!
    That just did it

  • Root.sh failure during Grid install - segmentation fault for clscfg

    Hi anyone got any idea how to resolve the following error during execution of root.sh on second node of a RAC installation. I see there is a failure when clscfg -localadd is run - perhaps this is the start of the issue. I have no idea what this command is doing
    Any help appreciated
    Installing verison 11.2.0.2 on RHEL 5
    ntpd was NOT running - I ignored this during the pre-reqs at the end of the runInstaller - perhaps this is the issue and i need to start fresh and make sure its running before running root.sh ?
    root.sh....
    Entries will be added to the /etc/oratab file as needed by
    Database Configuration Assistant when a database is created
    Finished running generic part of root script.
    Now product-specific root actions will be performed.
    Using configuration parameter file: /opt/app/11.2.0/grid/crs/install/crsconfig_params
    Failure with signal 11 from command: 1 /opt/app/11.2.0/grid/bin/clscfg -localadd
    OLR initialization - successful
    Adding daemon to inittab
    ACFS-9200: Supported
    ACFS-9300: ADVM/ACFS distribution files found.
    ACFS-9307: Installing requested ADVM/ACFS software.
    ACFS-9308: Loading installed ADVM/ACFS drivers.
    ACFS-9321: Creating udev for ADVM/ACFS.
    ACFS-9323: Creating module dependencies - this may take some time.
    ACFS-9327: Verifying ADVM/ACFS devices.
    ACFS-9309: ADVM/ACFS installation correctness verified.
    CRS-2672: Attempting to start 'ora.mdnsd' on 'coden-ota-odc'
    CRS-2676: Start of 'ora.mdnsd' on 'coden-ota-odc' succeeded
    CRS-2672: Attempting to start 'ora.gpnpd' on 'coden-ota-odc'
    CRS-2676: Start of 'ora.gpnpd' on 'coden-ota-odc' succeeded
    CRS-2672: Attempting to start 'ora.cssdmonitor' on 'coden-ota-odc'
    CRS-2672: Attempting to start 'ora.gipcd' on 'coden-ota-odc'
    CRS-2676: Start of 'ora.cssdmonitor' on 'coden-ota-odc' succeeded
    CRS-2676: Start of 'ora.gipcd' on 'coden-ota-odc' succeeded
    CRS-2672: Attempting to start 'ora.cssd' on 'coden-ota-odc'
    CRS-2672: Attempting to start 'ora.diskmon' on 'coden-ota-odc'
    CRS-2676: Start of 'ora.diskmon' on 'coden-ota-odc' succeeded
    CRS-2676: Start of 'ora.cssd' on 'coden-ota-odc' succeeded
    Start of resource "ora.ctssd" failed
    CRS-2672: Attempting to start 'ora.ctssd' on 'coden-ota-odc'
    CRS-2674: Start of 'ora.ctssd' on 'coden-ota-odc' failed
    CRS-4000: Command Start failed, or completed with errors.
    Cluster Time Synchronisation Service start in exclusive mode failed at /opt/app/11.2.0/grid/crs/install/crsconfig_lib.pm line 6455.
    /opt/app/11.2.0/grid/perl/bin/perl -I/opt/app/11.2.0/grid/perl/lib -I/opt/app/11.2.0/grid/crs/install /opt/app/11.2.0/grid/crs/install/rootcrs.pl execution failed
    I executed the /opt/app/11.2.0/grid/bin/clscfg to see what the result was and it returns a Segmentation Fault to std err
    Edited by: 787789 on Nov 10, 2010 6:58 AM

    Hi,
    here is one document you can go for work around but it is on windows platform but similar error as you posted *CRS Installation Failed with "failed to configure Oracle Cluster Registry with CLSCFG, ret 9" [ID 851742.1]*
    Thanks

Maybe you are looking for

  • Sequence settings for 1080p25 footage?

    Dear all, I'm using Final Cut Pro 7 on a Macbook Pro. I have shot some footage on 1080p25 but there is no East set-up or sequence setting specifically for this in the menu. Can someone tell me which is the best sequence or project setting to edit thi

  • BBP_UPLOAD_QM_SYSTEMS Importance of this report

    Hello All, BBP_UPLOAD_QM_SYSTEMS What is the importance of this report in EBP? and tables .It says that to replicate quality management syatem data from r/3.Can you elaborate more? Appreciate your answers. Regards Muthu

  • Cannot Administer DAS as orcladmin, After Changing Default Subscriber

    OK, I dared to create a different DIT. I even created a new orcladmin account under my new DIT. I even made him a member of the DAS Admin Group under my new DIT. I log into DAS and go to the config page. I change my values to point to my new DIT. I r

  • Prerequisites for POC on Oracle Golden Gate

    Hi, I want to build POC on Oracle Golden Gate. I am looking for any prerequisites for the demonstration such as any downloads, machine requirements, hard disk capasity, configuration guide etc. Any help would be much appriciated. Thanks, Avadhut

  • Flash Album export using bananalbum

    This function is really useful but what I want to acheive so far isn't. I would really like to be able to export my images from aperture to a flash album using the banana album plug in without the banana album intro splash appearing. I have a full li