Usage Tracking - Cant perform insert operation inside a READ ONLY trans

Hello,
I have been experiencing the following error message when trying to install a row in our s_nq_acct table for USAGE TRACKING:
[nQSError: 16001] ODBC error state: S1000 code: 1456 message: [Oracle][ODBC][Ora]ORA-01456: may not perform insert/delete/update operation inside a READ ONLY transaction.
- I am able to manually insert rows via SQL*Plus whilst logged on as the same user as the Connection Pool
- The Read Only option is not ticked for the ODBC
Can anyone please help me with this?
Thanks,
Rhys

Hi rnm1978,
You were right!
I was being a bit retarded and had to simply switch the call interface on the connection pool to use the OCI and ensure the dta source name was that of the TNS names entry and not the system DSN.

Similar Messages

  • Cannot perform dml operation inside a query

    I have created a function which does some dml opration.
    when I use it in a through a transformation operator, and execute the map,
    it throws the following error:
    cannot perform dml operation inside a query
    how to handle this?

    Hi,
    if you want to execute the dml within a mapping, use the pre or post mapping procress operator. Or use a sql*plus activity in the process flow.
    Regards,
    Carsten.

  • ORA-01456 : may not perform insert/delete/update operation

    When I use following stored procedure with crystal reports, following error occurs.
    ORA-01456 : may not perform insert/delete/update operation inside a READ ONLY transaction
    Kindly help me on this, please.
    My stored procedure is as under:-
    create or replace
    PROCEDURE PROC_FIFO
    (CV IN OUT TB_DATA.CV_TYPE,FDATE1 DATE, FDATE2 DATE,
    MSHOLD_CODE IN NUMBER,SHARE_ACCNO IN VARCHAR)
    IS
    --DECLARE VARIABLES
    V_QTY NUMBER(10):=0;
    V_RATE NUMBER(10,2):=0;
    V_AMOUNT NUMBER(12,2):=0;
    V_DATE DATE:=NULL;
    --DECLARE CURSORS
    CURSOR P1 IS
    SELECT *
    FROM FIFO
    WHERE SHARE_TYPE IN ('P','B','R')
    ORDER BY VOUCHER_DATE,
    CASE WHEN SHARE_TYPE='P' THEN 1
    ELSE
    CASE WHEN SHARE_TYPE='R' THEN 2
    ELSE
    CASE WHEN SHARE_TYPE='B' THEN 3
    END
    END
    END,
    TRANS_NO;
    RECP P1%ROWTYPE;
    CURSOR S1 IS
    SELECT * FROM FIFO
    WHERE SHARE_TYPE='S'
    AND TRANS_COST IS NULL
    ORDER BY VOUCHER_DATE,TRANS_NO;
    RECS S1%ROWTYPE;
    --BEGIN QUERIES
    BEGIN
    DELETE FROM FIFO;
    --OPENING BALANCES
    INSERT INTO FIFO
    VOUCHER_NO,VOUCHER_TYPE,VOUCHER_DATE,TRANS_QTY,TRANS_AMT,TRANS_RATE,
    SHOLD_CODE,SHARE_TYPE,ACC_NO,SHARE_CODE,TRANS_NO)
    SELECT TO_CHAR(FDATE1,'YYYYMM')||'001' VOUCHER_NO,'OP' VOUCHER_TYPE,
    FDATE1-1 VOUCHER_DATE,
    SUM(
    CASE WHEN
    --((SHARE_TYPE ='S' AND DTAG='Y')
    SHARE_TYPE IN ('P','B','R','S') THEN
    TRANS_QTY
    ELSE
    0
    END
    ) TRANS_QTY,
    SUM(TRANS_AMT),
    NVL(CASE WHEN SUM(TRANS_AMT)<>0
    AND
    SUM
    CASE WHEN SHARE_TYPE IN ('P','B','R','S') THEN
    TRANS_QTY
    ELSE
    0
    END
    )<>0 THEN
    SUM(TRANS_AMT)/
    SUM
    CASE WHEN SHARE_TYPE IN ('P','B','R','S') THEN
    TRANS_QTY
    ELSE
    0
    END
    ) END,0) TRANS_RATE,
    MSHOLD_CODE SHOLD_CODE,'P' SHARE_TYPE,SHARE_ACCNO ACC_NO,
    SHARE_CODE,0 TRANS_NO
    FROM TRANS
    WHERE ACC_NO=SHARE_ACCNO
    AND SHOLD_CODE= MSHOLD_CODE
    AND VOUCHER_DATE<FDATE1
    --AND
    --(SHARE_TYPE='S' AND DTAG='Y')
    --OR SHARE_TYPE IN ('P','R','B'))
    group by TO_CHAR(FDATE1,'YYYYMM')||'001', MSHOLD_CODE,SHARE_ACCNO, SHARE_CODE;
    COMMIT;
    --TRANSACTIONS BETWEEND DATES
    INSERT INTO FIFO
    TRANS_NO,VOUCHER_NO,VOUCHER_TYPE,
    VOUCHER_DATE,TRANS_QTY,
    TRANS_RATE,TRANS_AMT,SHOLD_CODE,SHARE_CODE,ACC_NO,
    DTAG,TRANS_COST,SHARE_TYPE
    SELECT TRANS_NO,VOUCHER_NO,VOUCHER_TYPE,
    VOUCHER_DATE,TRANS_QTY,
    CASE WHEN SHARE_TYPE='S' THEN
    NVL(TRANS_RATE-COMM_PER_SHARE,0)
    ELSE
    NVL(TRANS_RATE+COMM_PER_SHARE,0)
    END
    ,TRANS_AMT,SHOLD_CODE,SHARE_CODE,ACC_NO,
    DTAG,NULL TRANS_COST,SHARE_TYPE
    FROM TRANS
    WHERE ACC_NO=SHARE_ACCNO
    AND SHOLD_CODE= MSHOLD_CODE
    AND VOUCHER_DATE BETWEEN FDATE1 AND FDATE2
    AND
    ((SHARE_TYPE='S' AND DTAG='Y')
    OR SHARE_TYPE IN ('P','R','B'));
    COMMIT;
    --PURCHASE CURSOR
    IF P1%ISOPEN THEN
    CLOSE P1;
    END IF;
    OPEN P1;
    LOOP
    FETCH P1 INTO RECP;
    V_QTY:=RECP.TRANS_QTY;
    V_RATE:=RECP.TRANS_RATE;
    V_DATE:=RECP.VOUCHER_DATE;
    dbms_output.put_line('V_RATE OPENING:'||V_RATE);
    dbms_output.put_line('OP.QTY2:'||V_QTY);
    EXIT WHEN P1%NOTFOUND;
    --SALES CURSOR
    IF S1%ISOPEN THEN
    CLOSE S1;
    END IF;
    OPEN S1;
    LOOP
    FETCH S1 INTO RECS;
    EXIT WHEN S1%NOTFOUND;
    dbms_output.put_line('OP.QTY:'||V_QTY);
    dbms_output.put_line('SOLD:'||RECS.TRANS_QTY);
    dbms_output.put_line('TRANS_NO:'||RECS.TRANS_NO);
    dbms_output.put_line('TRANS_NO:'||RECS.TRANS_NO);
    IF ABS(RECS.TRANS_QTY)<=V_QTY
    AND V_QTY<>0
    AND RECS.TRANS_COST IS NULL THEN
    --IF RECS.TRANS_COST IS NULL THEN
    --dbms_output.put_line('SOLD:'||RECS.TRANS_QTY);
    --dbms_output.put_line('BAL1:'||V_QTY);
    UPDATE FIFO
    SET TRANS_COST=V_RATE,
    PUR_DATE=V_DATE
    WHERE TRANS_NO=RECS.TRANS_NO
    AND TRANS_COST IS NULL;
    COMMIT;
    dbms_output.put_line('UPDATE TRANS_NO:'||RECS.TRANS_NO);
    dbms_output.put_line('OP.QTY:'||V_QTY);
    dbms_output.put_line('SOLD:'||RECS.TRANS_QTY);
    dbms_output.put_line('TRANS_NO:'||RECS.TRANS_NO);
    dbms_output.put_line('BAL2:'||TO_CHAR(RECS.TRANS_QTY+V_QTY));
    END IF;
    IF ABS(RECS.TRANS_QTY)>ABS(V_QTY)
    AND V_QTY<>0 AND RECS.TRANS_COST IS NULL THEN
    UPDATE FIFO
    SET
    TRANS_QTY=-V_QTY,
    TRANS_COST=V_RATE,
    TRANS_AMT=ROUND(V_QTY*V_RATE,2),
    PUR_DATE=V_DATE
    WHERE TRANS_NO=RECS.TRANS_NO;
    --AND TRANS_COST IS NULL;
    COMMIT;
    dbms_output.put_line('UPDATING 100000:'||TO_CHAR(V_QTY));
    dbms_output.put_line('UPDATING 100000 TRANS_NO:'||TO_CHAR(RECS.TRANS_NO));
    INSERT INTO FIFO
    TRANS_NO,VOUCHER_NO,VOUCHER_TYPE,
    VOUCHER_DATE,TRANS_QTY,
    TRANS_RATE,TRANS_AMT,SHOLD_CODE,SHARE_CODE,ACC_NO,
    DTAG,TRANS_COST,SHARE_TYPE,PUR_DATE
    VALUES
    MCL.NEXTVAL,RECS.VOUCHER_NO,RECS.VOUCHER_TYPE,
    RECS.VOUCHER_DATE,RECS.TRANS_QTY+V_QTY,
    RECS.TRANS_RATE,(RECS.TRANS_QTY+V_QTY)*RECS.TRANS_RATE,RECS.SHOLD_CODE,
    RECS.SHARE_CODE,RECS.ACC_NO,
    RECS.DTAG,NULL,'S',V_DATE
    dbms_output.put_line('INSERTED RECS.QTY:'||TO_CHAR(RECS.TRANS_QTY));
    dbms_output.put_line('INSERTED QTY:'||TO_CHAR(RECS.TRANS_QTY+V_QTY));
    dbms_output.put_line('INSERTED V_QTY:'||TO_CHAR(V_QTY));
    dbms_output.put_line('INSERTED RATE:'||TO_CHAR(V_RATE));
    COMMIT;
    V_QTY:=0;
    V_RATE:=0;
    EXIT;
    END IF;
    IF V_QTY>0 THEN
    V_QTY:=V_QTY+RECS.TRANS_QTY;
    ELSE
    V_QTY:=0;
    V_RATE:=0;
    EXIT;
    END IF;
    --dbms_output.put_line('BAL3:'||V_QTY);
    END LOOP;
    V_QTY:=0;
    V_RATE:=0;
    END LOOP;
    CLOSE S1;
    CLOSE P1;
    OPEN CV FOR
    SELECT TRANS_NO,VOUCHER_NO,VOUCHER_TYPE,
    VOUCHER_DATE,TRANS_QTY,
    TRANS_RATE,TRANS_AMT,SHOLD_CODE,B.SHARE_CODE,B.ACC_NO,
    DTAG,TRANS_COST,SHARE_TYPE, B.SHARE_NAME,A.PUR_DATE
    FROM FIFO A, SHARES B
    WHERE A.SHARE_CODE=B.SHARE_CODE
    --AND A.SHARE_TYPE IS NOT NULL
    ORDER BY VOUCHER_DATE,SHARE_TYPE,TRANS_NO;
    END PROC_FIFO;
    Thanks and Regards,
    Luqman

    Copy from TODOEXPERTOS.COM
    Problem Description
    When running a RAM build you get the following error as seen in the RAM build
    log file:
    14:52:50 2> Updating warehouse tables with build information...
    Process Terminated In Error:
    [Oracle][ODBC][Ora]ORA-01456: may not perform insert/delete/update operation inside a READ ONLY transaction
    (SIGENG02) ([Oracle][ODBC][Ora]ORA-01456: may not perform insert/delete/update operation inside a READ ONLY transaction
    ) Please contact the administrator of your Oracle Express Server application.
    Solution Description
    Here are the following suggestions to try out:
    1. You may want to use oci instead of odbc for your RAM build, provided you
    are running an Oracle database. This is setup through the RAA (relational access
    administrator) maintenance procedure.
    Also make sure your tnsnames.ora file is setup correctly in either net80/admin
    or network/admin directory, to point to the correct instance of Oracle.
    2. Commit or rollback the current transaction, then retry running your
    RAM build. Seems like one or more of your lookup or fact tables have a
    read-only lock on them. This occurs if you modify or add some records to your
    lookup or fact tables but forget to issue a commit or rollback. You need to do
    this through SQL+.
    3. You may need to check what permissions has been given to the relational user.
    The error could be a permissions issue.
    You must give 'connect' permission or roll to the RAM/relational user. You may
    also try giving 'dba' and 'resource' priviliges/roll to this user as a test. Inorder to
    keep it simple, make sure all your lookup, fact and wh_ tables are created on
    a single new tablespace. Create a new user with the above privileges as the
    owner of the tablespace, as well as the owner of the lookup, fact and wh_
    tables, inorder to see if this is a permissions issue.
    In this particular case, the problem was resolved by using oci instead of odbc,
    as explained in suggestion# 1.

  • Error in implementing Usage Tracking in OBIEE

    Hi All,
    I wants to implement Usage Tracking in my project. I have done all the steps as per link http://obiee101.blogspot.com/2008/08/obiee-setting-up-usage-tracking.html
    But i am getting following error in NQServer.log file----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    [59048] Usage Tracking encountered an insert statement execution error. This error has occurred 1 times and resulted in the loss of 1 insert statements since this message was last logged.
    [nQSError: 16001] ODBC error state: S1000 code: 1456 message: [Oracle][ODBC][Ora]ORA-01456: may not perform insert/delete/update operation inside a READ ONLY transaction.
    [nQSError: 16015] SQL statement execution failed.
    I have also check by changing the Call_Interface in Connection Pool of Admin Tool from ODBC 3.5 to OCI 10g. By this chage i get ollowing error:
    [59048] Usage Tracking encountered an insert statement execution error. This error has occurred 1 times and resulted in the loss of 1 insert statements since this message was last logged.
    [nQSError: 17001] Oracle Error code: 3114, message: ORA-03114: not connected to ORACLE
    at OCI call OCIStmtExecute.
    [nQSError: 17011] SQL statement execution failed.
    Please help....
    Thanks in Advance...
    Regards,
    Avi

    problem is solved....
    Actually in NQServer.ini file i was using actual Database name instead of Admin Tool Physical Layer name at PHSICAL TABLE NAME: <database>.<schema>.<tablename>
    and at CONNECTION POOL: <database name>.<connection pool>
    thanks...

  • Error with OBIEE Usage Tracking

    Hi,
    I have set up Usage Tracking in Oracle BI Enterprise Edition with the Direct Insert Option. I have created the S_NQ_ACCT table in an Oracle schema that is referenced as a connection pool in the Oracle BI Repository physical layer. When I run my requests from Oracle BI Answers and check my server logs (NQServer.log), I get the following message:
    [59048] Usage Tracking encountered an insert statement execution error. This error has occurred 9 times and resulted in the loss of 9 insert statements since this message was last logged.
    [nQSError: 16001] ODBC error state: S1000 code: 1456 message: [Oracle][ODBC][Ora]ORA-01456: may not perform insert/delete/update operation inside a READ ONLY transaction.
    [nQSError: 16015] SQL statement execution failed.
    2008-04-25 04:34:18
    [59048] Usage Tracking encountered an insert statement execution error. This error has occurred 9 times and resulted in the loss of 9 insert statements since this message was last logged.
    [nQSError: 16001] ODBC error state: S1000 code: 1456 message: [Oracle][ODBC][Ora]ORA-01456: may not perform insert/delete/update operation inside a READ ONLY transaction.
    [nQSError: 16015] SQL statement execution failed.
    Does anyone know how to fix this problem?
    Regards,
    Peter

    Thanks for the response.
    You're right. The response seems to imply that the account does not have the authorization. However, the account I am using to access the database from OBIEE Repository owns the schema where the S_NQ_ACCT table is stored. So I am puzzled as to why this response is generated.

  • Usage tracking in Siebel Analytics

    Hi All,
    We are using Sibel analytics for the reporting on non-siebel database. We tried to implement the Usage tracking for that.
    We have created the table "S_NQ_ACCT" on our dabase and all the settings are done in NQS file.
    But when any report is ran, the usage statistics are not getting inserted in to the table S_NQ_ACCT.
    Thanks all.

    Hi,
    I have made all the settings required in the NGS file.
    On checking the NQSSERVER log : I could see the below error.
    [59048] Usage Tracking encountered an insert statement execution error. This error has occurred 3 times and resulted in the loss of 3 insert statements since this message was last logged.
    2012-10-22 17:21:38
    [59048] Usage Tracking encountered an insert statement execution error. This error has occurred 3 times and resulted in the loss of 3 insert statements since this message was last logged.
    2012-10-22 17:33:29
    [59048] Usage Tracking encountered an insert statement execution error. This error has occurred 8 times and resulted in the loss of 8 insert statements since this message was last logged.
    2012-10-22 17:38:26
    [59048] Usage Tracking encountered an insert statement execution error. This error has occurred 25 times and resulted in the loss of 25 insert statements since this message was last logged.
    2012-10-22 17:45:57
    [59048] Usage Tracking encountered an insert statement execution error. This error has occurred 3 times and resulted in the loss of 3 insert statements since this message was last logged.
    2012-10-22 17:49:38
    *[nQSError: 12002] Socket communication error at call=recv: (Number=10004) A blocking operation was interrupted by a call*
    What exactly the error mention above?
    Thanks all...

  • Trouble shoot Usage Tracking

    I configured Usage tracking but for some reason S_NQ_Acct table is not populating rows. I checked the error log and I see there has been some problem with the usage tracking. I used the 10.1.3.4 usage tracking rpd and did update the connection pools to point to the right database.
    The rpd metadata columns and the tables created under the schema are consistent. I do not see any errors under Usage tracking canned reports or the columns. All i see is No results because S_NQ_ACCT table is always empty, even though I ran some reports.
    Here is my usage tracking settings under nqsconfig.ini file
    ENABLE = YES;
    DIRECT_INSERT = YES;
    PHYSICAL_TABLE_NAME = "OBI Usage Tracking"."Catalog"."dbo"."S_NQ_ACCT" ;
    CONNECTION_POOL = "OBI Usage Tracking"."Usage Tracking Writer Connection Pool" ;
    BUFFER_SIZE = 10 MB ;
    BUFFER_TIME_LIMIT_SECONDS = 5 ;
    NUM_INSERT_THREADS = 5 ;
    MAX_INSERTS_PER_TRANSACTION = 1 ;
    My NqServer log details:
    2010-07-08 14:53:14
    [59055] Usage Tracking started.
    2010-07-08 14:53:16
    [16020] Metadata Database Type: Oracle8.1
    Data Source Name: Dev
    Data Source Type: Oracle 10.02.0020
    2010-07-08 14:53:16
    Data Source Name: Dev
    Client Driver Version 10.02.0001
    2010-07-08 14:53:16
    [59048] Usage Tracking encountered an insert statement execution error. This error has occurred 1 times and resulted in the loss of 1 insert statements since this message was last logged.
    [nQSError: 16001] ODBC error state: S1000 code: 984 message: [Oracle][ODBC][Ora]ORA-00984: column not allowed here.
    [nQSError: 16015] SQL statement execution failed.
    I tried to debug what that error is but i was not successfull in doing so. One thing that i wanted to mention here is, when creating the NQ_LOGIN_GROUP view, I edited th default script for creating the column LOGIN to USER_NAME as LOGIN is a key word in ORACLE database. I dont think that is causing the issue here, as I renamed the rpd Physical column of the table as well. That was the only change i made and rest of them are default settings.
    Any suggestions here....
    Thanks
    Prash

    A lot of things smell fishy in your post. For a start your BI Server log says "Metadata Database Type: Oracle8.1" but then it says you are using "Client Driver Version 10.02.0001". Which database version are you running? If you are running 10g then make sure you set the correct database type in the Physical layer. If you are using Oracle then you should be using Oracle native drviers in your connection pool (OCI) however the PHYSICAL_TABLE_NAME definition has the "dbo" which seems to suggest you are using ODBC. Also the error you are gettign seems to suggest you are using ODBC. The insert the BI Server sends looks like this:
    INSERT INTO S_NQ_ACCT (USER_NAME, REPOSITORY_NAME, SUBJECT_AREA_NAME, NODE_ID, START_TS, START_DT, START_HOUR_MIN, END_TS, END_DT, END_HOUR_MIN, QUERY_TEXT, SUCCESS_FLG, ROW_COUNT, TOTAL_TIME_SEC, COMPILE_TIME_SEC, NUM_DB_QUERY, CUM_DB_TIME_SEC, CUM_NUM_DB_ROW, CACHE_IND_FLG, QUERY_SRC_CD, SAW_SRC_PATH, SAW_DASHBOARD, SAW_DASHBOARD_PG, PRESENTATION_NAME, RUNAS_USER_NAME, NUM_CACHE_INSERTED, NUM_CACHE_HITS)
    So try that manually to see if it works but it seems you need to to some RPD config changes first as it all looks too fishy to me.

  • Usage Tracking for BI Server Hosting Multiple Repositories

    Hi all,
    I've got my BI Server hosting two repositories:
    [ REPOSITORY ]
    DemoApp1 = DemoApp1.rpd, DEFAULT;
    DemoApp2 = DemoApp2.rpd;
    And started two Presentation Services connecting to these two repositories respectively, and two web front-ends at /analytics and /analytics2 to display the two different catalogs.
    Next, I enabled usage tracking with direct insert to the following physical table:
    PHYSICAL_TABLE_NAME = "OBIEEREP".""."OBIEEREP"."S_NQ_ACCT" ;
    CONNECTION_POOL = "OBIEEREP"."Connection Pool" ;
    Both repositories has the above physical table and connection pool defined. In DemoApp1.rpd, "OBIEEREP"."Connection Pool" points to a database OBIEEDB1, and in DemoApp2.rpd, it points to a database OBIEEDB2.
    But then the problem occurs. All usage tracking data are inserted to OBIEEDB1 only, no matter which web front-end they are from. I tried removing the "DEFAULT" from NQSConfig.ini, but this doesn't help.
    Is there any way to configure BI Server to insert usage tracking data from /analytics to OBIEEDB1, and those from /analytics2 to OBIEEDB2?
    Thanks very much!!!
    Edited by: Kaphenda on Jan 18, 2010 2:34 PM

    HI Kaphenda,
    That's probably just a side-effect of having two repositories. Keep in mind that having multiple repositories and multiple presentation servers is not support by Oracle, so they were not on the hook to modify the Usage Tracking algorithm to write to two different databases. It seems to me like they either didn't anticipate this scenario, or they didn't want to program for this scenario.
    I don't think you have too many options in terms of making OBIEE insert the traffic logs into the appropriate database. However, once the data has been inserted, you can do just about anything you want to it in terms of ETL, triggers, materialized views, etc.
    Here's what I would recommend:
    1) Have the OBIEE usage tracking information logged into a neutral schema.
    2) Write a materialized view in database 1: CREATE MATERIALIZED VIEW S_NQ_ACCT AS SELECT * from S_NQ_ACCT@NEUTRAL_SERVER WHERE REPOSITORY_NAME = 'DemoApp1'
    3) Write a materialized view in database 2: CREATE MATERIALIZED VIEW S_NQ_ACCT AS SELECT * from S_NQ_ACCT@NEUTRAL_SERVER WHERE REPOSITORY_NAME = 'DemoApp2'
    You can specify the refresh frequency of these materialized views to be as frequent as you want. The great thing about this strategy is that you get the best of all worlds. Each database has the traffic information broken down by their personal RPD. But the neutral schema can provide Global reporting across both repositories which can be very valuable itself.
    Good luck and if you found this post useful, please award points!
    Best regards,
    -Joe
    Edited by: Joe Bertram on Jan 18, 2010 9:59 AM

  • How to perform insert record in Advance table .

    Dear Friends ,
    I have a requirement in OAF ,where i have to make use of advance table and perform
    insert operation in Master Detail page.
    I have sequence number being generated in header region using the same sequence number
    i wish to insert multiple line level records .
    How can i achieve this , kindly share your suggestions .
    Thanks in Advance ,
    Keerthi

    Hi Gyan,
    I have the same requirement like master detail page development. I have developed up to view link crreation. Is there any further steps to be done, please explain in details.
    Thanks in Advance,
    Antonyraj.M

  • Create tables insert something inside and then connect my application to db

    thank you to be patient with me. ok since the beginning I think I have learned a lot with the people responses. so my database is mounted now. I used the cmd.exe command line. i have create an instance, a service, and the database. Now, I need to do two things:create tables inside of my database and insert something inside but I only have the sql script (I will add it at the end of the thread).it is just a part of my huge script.. but this cript can not be open with the command line. So I want to know if you could help me change some stuff inside in the aim to run this script with the command line.that's the first point
    secondly, I have an application named lifetrack. i want to connect this application with my database. so how can I change my settings file to be able to do that?(I will add the settings file I have at the end.It is the one I use for sql server). thanks a lot.I'm a french student so I try my best to answer you in a good english. and believe me if I have the exact way to create table,insert something inside like indicate in the part of my script and connect an application to the database you will never see my thread again. thank you
    1) sql script to create tables
    CREATE TABLE [admin_table] (
         [Can_highlight] [float] NULL ,
         [User_name] [nvarchar] (30) COLLATE Latin1_General_CI_AS NULL ,
         [User_passwd] [nvarchar] (10) COLLATE Latin1_General_CI_AS NULL ,
         [User_group] [nvarchar] (30) COLLATE Latin1_General_CI_AS NULL ,
         [Can_consolidate] [smallint] NULL ,
         [Can_edit_autorpt] [smallint] NULL ,
         [Can_edit_disturbance] [smallint] NULL
    ) ON [PRIMARY]
    GO
    INSERT INTO [admin_table] ([Can_highlight],[User_name],[User_passwd],[User_group],[Can_consolidate],[Can_edit_autorpt],[Can_edit_disturbance])
         VALUES (1.0,'A Andrews','A','both',0,0,1)
    GO
    2) sql server settings file
    ' NOTES:
    ' ======
    ' The parameters in this file are used to specify the following configuration features for the system
    ' 1. the plant profile
    ' 2. the default database as well as the available searchable databases
    ' 3. the paths for accessing particular files used or generated by the system
    ' The Panels Configuration Mode has either of two values: "Embedded" or "External". It is a setting that determines
    ' whether the system loads configuration data for the sections of subjects buttons, which are already embedded
    ' within it, or whether it loads them from the external file:
    ' "Lifetrack Subjects Panel Configuration.dat"
    ' The System Database is an index value (zero-based) that determines which of the listed available databases
    ' is the main active one. In the DATABASES section, the parameters in each comma separated string
    ' designate the following (in this order):
    ' DB Index, DB Name, DB Type, DB Filepath, Server Name, Username, Password
    PLANT SUBJECTS PANEL:
    Panels Configuration Mode: Embedded
    DATABASES:
    System Database: 0
    Available Databases: 1
    0,abc_plant,SQL-Server,SQLSERVER_DATABASE,(local),sa,password
    FOLDERS:
    Saved_Log_Folder: .\
    Saved_NOB_Folder: .\
    Saved_Log&NOB_Together_Folder: .\
    MICROSOFT OFFICE PATHNAME:
    Pathname: C:\Program Files\Microsoft Office\Office11\

    Yet another thread and yet another cut & paste job.

  • Cannot perform scripting operations on lists

    Hi,
    I'm having trouble performing scripting operations on lists, the only variables I can retrieve from lists are the values @HasLeadSelection, @LeadSelectedIndex and @RowCount. I cannot perform any methods on lists, I have gone through the Complete Help document and have also tried to use Resolve to attempt to access list rows but that doesn't seem to working either. Any help would be greatly appreciated!
    Thanks
    Alexander Ludwig

    Hi Alessandro & Alexander,
    I just tried it and yes we can change the colour trough scripting as well.
    Something like below in the Calculation Rule of the property Background Colour would do the job.
    result = 'STANDARD'  // This is a fallback value in case the if condition below is not satisfied.
    if( $currentrow.xxx == 'xx' )  // Here xxx should be the element within the table
    result = 'BADVALUE_DARK'   // This is one of the value from above screenshot.
    end
    Check this other thread for more details:http://scn.sap.com/thread/3528872
    And yeah the code completion is having serious issues. It shows the attributes which do not belong under is sometimes.
    Binding to another attribute and setting it trough ABSL might decrease the performance as there would be a roundtrip required in this case to change the value if this field is not shown on UI and is only used to decide the colour.
    Regards
    Vinod

  • Usage Tracking performance impact

    Hi all,
    I just started to implement the OBIEE usage tracking functionalities.
    Anyone implemented it and call share some experience on the performance impact with/without usage tracking enabled??
    Thanks
    BCHK

    If you use direct_insert option impact will be minimized. In general usage tracking captures report run activity and logs into table, so there is overhead on the system to insert to table or write to file. trade off is the information you get with usage tracking..
    hope this helps..
    Edited by: Kasyap on Mar 23, 2013 10:32 PM

  • Getting error SQL Error : ORA-14551: cannot perform a DML operation inside a query

    Hi gurus ,
    Your help is greatly appreciated ..
    I am doing some changes in the fucntion for an existing package .Introducing the new below check , am updating one of the tables based on a if condition ..
           IF  numALLOWED_COUNT >= numLAST_COUNT_ADDED+1  THEN
                     blnGDS_Allowed :=True;
                      varSTMT := 'UPDATE PROD.TMS_PROCESS_COUNTER ';
                      varSTMT := varSTMT ||' SET last_count_added = last_count_added+1';
                      varSTMT := varSTMT ||' WHERE process_name = ''DAILY_GDS_COUNT''';
                      varSTMT := varSTMT ||' AND COUNTER_IND = ''750FD130''';
                     PROC_LOG('Update Tms_Process_counter varSTMT --' || varSTMT);
                     IF INSERT_BATCH(99,varSTMT) > 0 THEN
                        NULL;
                     END IF;
    Function for insert_batch :
    UNCTION INSERT_BATCH(numTABLE_ID IN NUMBER, varSQL_STATEMENT IN VARCHAR2) RETURN NUMBER IS
    varINSERT_BATCH_STMT  VARCHAR2(32767)     := NULL;
    varADD_REC_TYPE       BATCH_TABLES.ADD_REC_TYPE%TYPE;
    BEGIN
        PROC_LOG( 'INSIDE INSERT_BATCH IRC : ' || varSQL_STATEMENT );  --IRC 9/20 UC
        INSERT INTO BATCH_STATEMENT(QUEUE_ID,TABLE_ID,STATEMENT,QUEUE_SEQUENCE_ID)
        VALUES (numQUEUE_ID,numTABLE_ID,varSQL_STATEMENT,1);
    RETURN 1;
    EXCEPTION WHEN OTHERS THEN
        PROC_LOG('Failed in INSERT_BATCH');
        PROC_LOG('SQL Error : ' || SUBSTR(SQLERRM,1,1000));
        RETURN -1;
    END INSERT_BATCH;
    desc PROD.BATCH_STATEMENT
      QUEUE_ID           NUMBER(15)                 NOT NULL
      TABLE_ID           NUMBER(2)                  NOT NULL
      STATEMENT          VARCHAR2(4000 BYTE)        NOT NULL
      QUEUE_SEQUENCE_ID  NUMBER(5)                  NOT NULL
    Some how when its calling the insert_batch , its giving me the error in the logs as below:
    04:01:41 - Update Tms_Process_counter varSTMT --UPDATE PROD.TMS_PROCESS_COUNTER  SET last_count_added = last_count_added+1 WHERE process_name = 'DAILY_GDS_COUNT' AND COUNTER_IND = '750FD130'
    04:01:41 - INSIDE INSERT_BATCH IRC : UPDATE PROD.TMS_PROCESS_COUNTER  SET last_count_added = last_count_added+1 WHERE process_name = 'DAILY_GDS_COUNT' AND COUNTER_IND = '750FD130'
    04:01:41 - Failed in INSERT_BATCH
    04:01:41 - SQL Error : ORA-14551: cannot perform a DML operation inside a query

    Some how when its calling the insert_batch , its giving me the error in the logs as below:
    04:01:41 - SQL Error : ORA-14551: cannot perform a DML operation inside a query
    Yes - and the exception is telling you EXACTLY what the problem is. You have a query
    IF INSERT_BATCH(99,varSTMT) > 0 THEN
    And you are performing a DML operation inside that query:
    INSERT INTO BATCH_STATEMENT(QUEUE_ID,TABLE_ID,STATEMENT,QUEUE_SEQUENCE_ID)
        VALUES (numQUEUE_ID,numTABLE_ID,varSQL_STATEMENT,1);
    Like the exception says: you can't do that.
    You need to call the function using PL/SQL and capture the return value into a variable. Then test that variable:
    myVar := INSERT_BATCH(99,varSTMT);
    if myVar > 0 THEN

  • Degrading performance when running consecutive insert operations

    Hi,
    I'm using DB-XML (2.5.16) as a backend storage for a web application that works on top of a TBX (TermBase eXchange) document. The application is using the Python bindings and development is being done on GNU/Linux with Python 2.6.
    The document is stored in a node-storage container, autoindexing is off at the time of container creation and transactions are enabled.
    After a set of indexes are set, queries work quite fast.
    On the other hand, when users input new data (terms) or perform edits on existing data, insert and replace operations have instant effect.
    The application has also a feature to insert lots of new terms in a single click, resulting in a new insert operation for each term. If the amount of terms to be inserted is relatively small (let's say ~10), the operation is quickly performed and the user receives a response almost instantly.
    Anyway, the problem arises when there are lots of new terms to be inserted. It starts working fast but performance quickly starts to degrade badly, needing more long seconds for each insert operation. Python's CPU-usage seems to go up to 100% when doing the actual insert, too.
    I understand this is not the best-working scenario for DB-XML (a single large document), but I don't think this performance is normal or acceptable.
    I have tried increasing Berkeley DB's cache size to 64MB with no success.
    Any hints about what should I be looking at? any more recommendations?
    These are the defined indexes:
    dbxml> listindexes
    Index: node-element-equality-string for node {}:admin
    Index: node-element-equality-string for node {}:descrip
    Index: node-attribute-equality-string edge-attribute-equality-string for node {}:id
    Index: node-attribute-equality-string for node {http://www.w3.org/1999/xhtml}:lang
    Index: unique-node-metadata-equality-string for node {http://www.sleepycat.com/2002/dbxml}:name
    Index: node-element-equality-string for node {}:ref
    Index: node-element-equality-string node-element-substring-string for node {}:term
    Index: node-element-equality-string for node {}:termNote
    Index: node-attribute-equality-string edge-attribute-equality-string for node {}:type
    9 indexes found.Container information:
    dbxml> info
    Version: Oracle: Berkeley DB XML 2.5.16: (December 22, 2009)
             Berkeley DB 4.8.30: (2010-12-09)
    Default container name: cont.dbxml
    Type of default container: NodeContainer
    Index Nodes: on
    Auto-indexing: off
    Shell and XmlManager state:
         Transactional, no active transaction
         Verbose: on
         Query context state: LiveValues,Eager

    As you both have mentioned I have tried increasing the cache size to 512MB or even to 1GB (I have recreated the entire DBs after setting cache sizes), but I don't see any significative improvements.
    I have also tried to tune my insert queries, and now I think they're in better shape than before. I would say the initial inserts feel slightly faster, but this only happens when the DB is empty (just bootstrapped). Then, once the DB has some term entries and grows in size, it starts to degrade and inserting becomes expensive in order of magnitudes.
    Each insert operation is performed in a separate transaction. And yes, I'm using transactions all over the application.
    Vyacheslav, I'll send you a couple of containers along with insert queries created by the application so you can play with.

  • "cannot perform a DML operation inside a query" error when using table func

    hello please help me
    i created follow table function when i use it by "select * from table(customerRequest_list);"
    command i receive this error "cannot perform a DML operation inside a query"
    can you solve this problem?
    CREATE OR REPLACE FUNCTION customerRequest_list(
    p_sendingDate varchar2:=NULL,
    p_requestNumber varchar2:=NULL,
    p_branchCode varchar2:=NULL,
    p_bankCode varchar2:=NULL,
    p_numberOfchekbook varchar2:=NULL,
    p_customerAccountNumber varchar2:=NULL,
    p_customerName varchar2:=NULL,
    p_checkbookCode varchar2:=NULL,
    p_sendingBranchCode varchar2:=NULL,
    p_branchRequestNumber varchar2:=NULL
    RETURN customerRequest_nt
    PIPELINED
    IS
    ob customerRequest_object:=customerRequest_object(
    NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
    condition varchar2(2000 char):=' WHERE 1=1 ';
    TYPE rectype IS RECORD(
    requestNumber VARCHAR2(32 char),
    branchRequestNumber VARCHAR2(32 char),
    branchCode VARCHAR2(50 char),
    bankCode VARCHAR2(50 char),
    sendingDate VARCHAR2(32 char),
    customerAccountNumber VARCHAR2(50 char),
    customerName VARCHAR2(200 char),
    checkbookCode VARCHAR2(50 char),
    numberOfchekbook NUMBER(2),
    sendingBranchCode VARCHAR2(50 char),
    numberOfIssued NUMBER(2)
    rec rectype;
    dDate date;
    sDate varchar2(25 char);
    TYPE curtype IS REF CURSOR; --RETURN customerRequest%rowtype;
    cur curtype;
    my_branchRequestNumber VARCHAR2(32 char);
    my_branchCode VARCHAR2(50 char);
    my_bankCode VARCHAR2(50 char);
    my_sendingDate date;
    my_customerAccountNumber VARCHAR2(50 char);
    my_checkbookCode VARCHAR2(50 char);
    my_sendingBranchCode VARCHAR2(50 char);
    BEGIN
    IF NOT (regexp_like(p_sendingDate,'^[[:digit:]]{4}/[[:digit:]]{2}/[[:digit:]]{2}$')
    OR regexp_like(p_sendingDate,'^[[:digit:]]{4}/[[:digit:]]{2}/[[:digit:]]{2}[[:space:]]{1}[[:digit:]]{2}:[[:digit:]]{2}:[[:digit:]]{2}$')) THEN
    RAISE_APPLICATION_ERROR(-20000,cbdpkg.get_e_m(-1,5));
    ELSIF (p_sendingDate IS NOT NULL) THEN
    dDate:=TO_DATE(p_sendingDate,'YYYY/MM/DD hh24:mi:ss','nls_calendar=persian');
    dDate:=trunc(dDate);
    sDate:=TO_CHAR(dDate,'YYYY/MM/DD hh24:mi:ss');
    condition:=condition|| ' AND ' || 'sendingDate='||'TO_DATE('''||sDate||''',''YYYY/MM/DD hh24:mi:ss'''||')';
    END IF;
    IF (p_requestNumber IS NOT NULL) AND (cbdpkg.isspace(p_requestNumber)=0) THEN
    condition:=condition|| ' AND ' || ' requestNumber='||p_requestNumber;
    END IF;
    IF (p_bankCode IS NOT NULL) AND (cbdpkg.isspace(p_bankCode)=0) THEN
    condition:=condition|| ' AND ' || ' bankCode='''||p_bankCode||'''';
    END IF;
    IF (p_branchCode IS NOT NULL) AND (cbdpkg.isspace(p_branchCode)=0) THEN
    condition:=condition|| ' AND ' || ' branchCode='''||p_branchCode||'''';
    END IF;
    IF (p_numberOfchekbook IS NOT NULL) AND (cbdpkg.isspace(p_numberOfchekbook)=0) THEN
    condition:=condition|| ' AND ' || ' numberOfchekbook='''||p_numberOfchekbook||'''';
    END IF;
    IF (p_customerAccountNumber IS NOT NULL) AND (cbdpkg.isspace(p_customerAccountNumber)=0) THEN
    condition:=condition|| ' AND ' || ' customerAccountNumber='''||p_customerAccountNumber||'''';
    END IF;
    IF (p_customerName IS NOT NULL) AND (cbdpkg.isspace(p_customerName)=0) THEN
    condition:=condition|| ' AND ' || ' customerName like '''||'%'||p_customerName||'%'||'''';
    END IF;
    IF (p_checkbookCode IS NOT NULL) AND (cbdpkg.isspace(p_checkbookCode)=0) THEN
    condition:=condition|| ' AND ' || ' checkbookCode='''||p_checkbookCode||'''';
    END IF;
    IF (p_sendingBranchCode IS NOT NULL) AND (cbdpkg.isspace(p_sendingBranchCode)=0) THEN
    condition:=condition|| ' AND ' || ' sendingBranchCode='''||p_sendingBranchCode||'''';
    END IF;
    IF (p_branchRequestNumber IS NOT NULL) AND (cbdpkg.isspace(p_branchRequestNumber)=0) THEN
    condition:=condition|| ' AND ' || ' branchRequestNumber='''||p_branchRequestNumber||'''';
    END IF;
    dbms_output.put_line(condition);
    OPEN cur FOR 'SELECT branchRequestNumber,
    branchCode,
    bankCode,
    sendingDate,
    customerAccountNumber ,
    checkbookCode ,
    sendingBranchCode
    FROM customerRequest '|| condition ;
    LOOP
    FETCH cur INTO my_branchRequestNumber,
    my_branchCode,
    my_bankCode,
    my_sendingDate,
    my_customerAccountNumber ,
    my_checkbookCode ,
    my_sendingBranchCode;
    EXIT WHEN (cur%NOTFOUND) OR (cur%NOTFOUND IS NULL);
    BEGIN
    SELECT requestNumber,
    branchRequestNumber,
    branchCode,
    bankCode,
    TO_CHAR(sendingDate,'yyyy/mm/dd','nls_calendar=persian'),
    customerAccountNumber ,
    customerName,
    checkbookCode ,
    numberOfchekbook ,
    sendingBranchCode ,
    numberOfIssued INTO rec FROM customerRequest FOR UPDATE NOWAIT;
    --problem point is this
    EXCEPTION
    when no_data_found then
    null;
    END ;
    ob.requestNumber:=rec.requestNumber ;
    ob.branchRequestNumber:=rec.branchRequestNumber ;
    ob.branchCode:=rec.branchCode ;
    ob.bankCode:=rec.bankCode ;
    ob.sendingDate :=rec.sendingDate;
    ob.customerAccountNumber:=rec.customerAccountNumber ;
    ob.customerName :=rec.customerName;
    ob.checkbookCode :=rec.checkbookCode;
    ob.numberOfchekbook:=rec.numberOfchekbook ;
    ob.sendingBranchCode:=rec.sendingBranchCode ;
    ob.numberOfIssued:=rec.numberOfIssued ;
    PIPE ROW(ob);
    IF (cur%ROWCOUNT>500) THEN
    CLOSE cur;
    RAISE_APPLICATION_ERROR(-20000,cbdpkg.get_e_m(-1,4));
    EXIT;
    END IF;
    END LOOP;
    CLOSE cur;
    RETURN;
    END;

    Now what exactly would be the point of putting a SELECT FOR UPDATE in an autonomous transaction?
    I think OP should start by considering why he has a function with an undesirable side effect in the first place.

Maybe you are looking for

  • How to pay import payment

    friends, after importing, we have to pay the vendor invoice, but we have exchange fluctuation also, how to clear the vendor invoice, including exchange fluctuations. regards,

  • Photos not appearing in iPhoto when importing from SD card

    On the first instance of using my camera to import photos to iphoto, I used the SD card reader integral on the new iMACs; this worked fine - all photos appeared, I selected import and there they were. Since then, when I insert the SD card, it appears

  • Database error :ORA-00600: internal error code, arguments:

    hello, I have a problem with error:ksedmp: internal or fatal error ORA-00600: internal error code, arguments: [k2srec: should be another instan I recently make any change .this error  alwayls occured in some time. part tracer file: /home/oracle/admin

  • We want to convert the PDF Reports to XML

    Hello, Can you Please any of us know how to convert the PDF Reports to XML. We are having around 30-40 reports of PDF needs to be converted for different countries to XML. Is there any simple way to achieve this in a short span of time. Your reply wi

  • Proper syntax of CSS 'url' attribute?

    I'd like to settle this minor annoyance once and for all. I keep seeing the background attribute written with differing syntax when it comes to the url, and all of them seem to work for their respective coders. background: url("image.gif") 0 0 no-rep