Pragma EXCEPTION_INIT or RAISE_APPLICATION_ERROR - that is good practice

Hello

I have came across a point where I need suggestion and views on error handling. However I use above all error handler.
But in case the base unit (inside) / program that calls that one would be preferable to use the PRAGMA EXCEPTION_INIT or directly use RAISE_APPLICATION_ERROR.

Here's the example I've tried

SQL> DECLARE
  2  L_CNT NUMBER;
  3  NO_DATA_FND EXCEPTION;
  4  PRAGMA EXCEPTION_INIT(NO_DATA_FND,100);
  5  BEGIN
  6   SELECT 1 INTO  L_CNT
  7       FROM DUAL WHERE 1=2;
  8  EXCEPTION
  9      WHEN NO_DATA_FND  THEN
 10      raise NO_DATA_FND  ;
 11  End;
 12  /
DECLARE
*
ERROR at line 1:
ORA-01403: no data found
ORA-06512: at line 10
ORA-01403: no data found

Or is better

SQL> DECLARE
  2  L_CNT NUMBER;
  3  BEGIN
  4   SELECT 1 INTO  L_CNT
  5       FROM DUAL WHERE 1=2;
  6  EXCEPTION
  7      WHEN NO_DATA_FOUND THEN
  8      RAISE_APPLICATION_ERROR(-20001,'OR is this good way of handling');
  9  End;
 10  /
DECLARE
*
ERROR at line 1:
ORA-20001: OR is this good way of handling
ORA-06512: at line 8

No, it's not the same.

Let's say you had a PL/SQL code you want to process the cases where you get an error ORA-01234 (for example), and you want to write an exception handler for it. You could use exception_init for card ORA-01234 an exception called MY_EXCEPTION and then use "when MY_EXCEPTION" in your exception handler. It has NOTHING to do with the throwing of an exception. You can also use this name to throw the exception directly

raise_application_error throws an exception with a specific number and text associated with it. The error number must be within a specified range (-20000 29999 if memory serves).

Tags: Database

Similar Questions

  • PRAGMA EXCEPTION_INIT works not as you wish

    Hi all

    I created a procedure where in I am trying to generate an error message saying "Table is missing from the database" when an id (2617804) is passed. To ensure that there is no such thing as the name of the table, then instead of the error is handled by OTHERS WHEN I want to be manipulated by my own error message and however which is a failure as well as control passes to 'OTHERS'.

    Can someone help me?

    Here is the code:

    Package:

    CREATE OR REPLACE PACKAGE CTNAPP.SANDEEP_XMLXTRACT IS
    
      /*****************************************************************************
      * Global Public Variables for error handling
      *****************************************************************************/
      g_vProgramName VARCHAR2(30):= 'CNZ017';
      g_vPackageName VARCHAR2(30):= 'CTN_PUB_CNTL_EXTRACT_PUBLISH';
      g_vProcedureName VARCHAR2(30);
      g_vTableName VARCHAR2(30);
      g_nSqlCd NUMBER;
      g_vErrorMessage VARCHAR2(2000); 
       
      /*****************************************************************************
      * Global Public Variables
      *****************************************************************************/  
      --Type declarations for GetCtnData procedure
      TYPE g_tVCArrayTyp IS 
      TABLE OF VARCHAR2(32767)
      INDEX BY BINARY_INTEGER;
      g_tVarcharArray g_tVCArrayTyp;
    
      TYPE g_tTblIDsTyp IS 
      TABLE OF NUMBER
      INDEX BY BINARY_INTEGER;
    
      PROCEDURE GetCtnData(p_nInCtnPubCntlID IN ctn_pub_cntl.ctn_pub_cntl_id%TYPE
      , p_tOutVarCharArray OUT g_tVCArrayTyp
      , pCount OUT NUMBER);
    
    
    
    
    
    
    

    Package body:

    CREATE OR REPLACE PACKAGE BODY CTNAPP.SANDEEP_XMLXTRACT IS
    
      -- Local Variables
      XMLctx DBMS_XMLGEN.CTXHANDLE;
      XMLdoc xmldom.DOMDocument;
      root_node xmldom.DOMNode;
      child_node xmldom.DOMNode;
      child_elmt xmldom.DOMElement;
      leaf_node xmldom.DOMNode;
      elmt_value xmldom.DOMText;
    
      vStrSqlQuery VARCHAR2(32767);
      nKiloByteLimit NUMBER(6) := 30000;
      dCurrentDate TIMESTAMP := SYSTIMESTAMP;
    
    -- Private Procedures 
      /************************************************************************
      *NAME : BuildCPRHeader
      *TYPE : FUNCTION
      *INPUT : 
      *OUTPUT : 
      *DESCRIPTION :  
      *  
      *************************************************************************/
      FUNCTION BuildCPRHeader RETURN VARCHAR2 IS
      vpublishHdr VARCHAR2(2000) := NULL;
      BEGIN
    
      XMLdoc := xmldom.newdomdocument;
      root_node := xmldom.makeNode(XMLdoc);
    
      child_elmt := xmldom.createElement(XMLdoc, 'PUBLISH_HEADER');
      child_node := xmldom.appendChild (root_node, xmldom.makeNode (child_elmt));
       
      child_elmt := xmldom.createElement (XMLdoc, 'SOURCE_APLCTN_ID');
      elmt_value := xmldom.createTextNode (XMLdoc, 'CTN');
      leaf_node := xmldom.appendChild (child_node, xmldom.makeNode (child_elmt));
      leaf_node := xmldom.appendChild (leaf_node, xmldom.makeNode (elmt_value));
    
      child_elmt := xmldom.createElement (XMLdoc, 'SOURCE_PRGRM_ID');
      elmt_value := xmldom.createTextNode (XMLdoc, g_vProgramName);
      leaf_node := xmldom.appendChild (child_node, xmldom.makeNode (child_elmt));
      leaf_node := xmldom.appendChild (leaf_node, xmldom.makeNode (elmt_value));
    
      child_elmt := xmldom.createElement (XMLdoc, 'SOURCE_CMPNT_ID');
      elmt_value := xmldom.createTextNode (XMLdoc, g_vPackageName);
      leaf_node := xmldom.appendChild (child_node, xmldom.makeNode (child_elmt));
      leaf_node := xmldom.appendChild (leaf_node, xmldom.makeNode (elmt_value));
    
      child_elmt := xmldom.createElement (XMLdoc, 'PUBLISH_TMS');
      elmt_value := xmldom.createTextNode (XMLdoc, TO_CHAR(dCurrentDate, 'YYYY-MM-DD HH24:MI:SS'));
      leaf_node := xmldom.appendChild (child_node, xmldom.makeNode (child_elmt));
      leaf_node := xmldom.appendChild (leaf_node, xmldom.makeNode (elmt_value));
    
      xmldom.writetobuffer(XMLdoc, vPublishHdr);
    
      RETURN vPublishHdr;
       
      END BuildCPRHeader;
    
    
    PROCEDURE GetCtnData(p_nInCtnPubCntlID IN ctn_pub_cntl.ctn_pub_cntl_id%TYPE, 
      p_tOutVarCharArray OUT g_tVCArrayTyp, 
      pCount OUT NUMBER)
      IS
      vTblName ctn_pub_cntl.table_name%TYPE;
      vLastPubTms ctn_pub_cntl.last_pub_tms%TYPE;
      l_clob CLOB;
      nCount PLS_INTEGER;
      nLength PLS_INTEGER;
      noffset PLS_INTEGER;
       
      table_not_found EXCEPTION;
      PRAGMA EXCEPTION_INIT(table_not_found, -00942);
       
      BEGIN
       
      g_vProcedureName:='GetCtnData';
       
      SELECT table_name, last_pub_tms
      INTO vTblName, vLastPubTms
      FROM CTN_PUB_CNTL
      WHERE ctn_pub_cntl_id = p_nInCtnPubCntlID;
       
      IF sql%ROWCOUNT = 0 THEN
      RAISE no_data_found;
      END IF;
    
      DBMS_SESSION.SET_NLS('NLS_DATE_FORMAT','''YYYY:MM:DD HH24:MI:SS''');
      vStrSqlQuery := 'SELECT * FROM ' || vTblName
      || ' WHERE record_update_tms <= TO_DATE(''' || TO_CHAR(vLastPubTms, 'MM/DD/YYYY HH24:MI:SS') || ''', ''MM/DD/YYYY HH24:MI:SS'')'
      || ' AND rownum < 2'
      || ' ORDER BY record_update_tms'
      ;
    
      XMLctx := DBMS_XMLGEN.NEWCONTEXT(vStrSqlQuery);
      DBMS_XMLGEN.SETNULLHANDLING(XMLctx, 2);
      DBMS_XMLGEN.SETROWSETTAG(XMLctx, vTblName);
      l_clob := DBMS_XMLGEN.GETXML(XMLctx);
      l_clob := REPLACE(l_clob, '<?xml version="1.0"?>', '');
    
      l_clob := '<?xml version="1.0"?>' || CHR(13) || CHR(10)
      || '<PUBLISH> ' || CHR(13) || CHR(10)
      || BuildCPRHeader
      || '<PUBLISH_BODY> '
      || l_clob
      || '</PUBLISH_BODY> ' || CHR(13) || CHR(10)
      || '</PUBLISH>';
    
    -- l_clob := '<' || vTblName || '/>';
    
      nLength := DBMS_LOB.getlength(l_clob);
      nCount := CEIL(nLength / nKiloByteLimit);
    
      noffset := 1;
      IF (nCount > 0) THEN
      FOR i in 1 .. nCount LOOP
      p_tOutVarCharArray(i) := DBMS_LOB.SUBSTR(l_clob, nKiloByteLimit, noffset);
      noffset := noffset + nKiloByteLimit;
      dbms_output.put_line(p_tOutVarCharArray(i));
      END LOOP;
      END IF;
    
      pCount := nCount;
       
      EXCEPTION 
      WHEN table_not_found THEN
      RAISE_APPLICATION_ERROR(-20001,'Table is missing from the database');  
       
      WHEN no_data_found THEN
      CTNAPP_COMMON.write_log(g_vPackageName, g_vProcedureName, NULL,'INFORMATIONAL','XMLTOSAP');
       
      --WHEN too_many_rows THEN
      -- CTNAPP_COMMON.write_log(g_vPackageName, g_vProcedureName, NULL,'FATAL','XMLTOSAP');
       
      WHEN others THEN
      CTNAPP_COMMON.write_log(g_vPackageName, g_vProcedureName,NULL, 'ERROR','XMLTOSAP');
       
      END GetCtnData;
    

    and now, to call my own procedure:


    CREATE OR REPLACE PROCEDURE CTNAPP.SANDEEP_TEST_LAMXML
    IS
    
    l_tOutVarCharArray SANDEEP_XMLXTRACT.g_tVCArrayTyp;
    
    nCount NUMBER(5);
    
    BEGIN  
    END;
    /
    
    
    
     SANDEEP_XMLXTRACT.GetCtnData(2617804, l_tOutVarCharArray,nCount);
    
    
    
    


    When in 2617804 is an id that has a table name called 'sandeep' and this 'sandeep' is passed dynamically (such as there might be a table of someother name in the future) in the variable vStrSqlQuery.

    Can anyone let me know where I am going wrong. I tried a small prototype with PRAGMA EXCEPTION_INIT (which worked successfully) before generating the error for the production program manager.

    @Solomon and Jarkko: thanks for explaining things in detail and why this code is redundant. I'll remove it. As for the original question, it is now fixed. I spent just "EXECUTE IMMEDIATE vStrSqlQuery;" after "vStrSqlQuery" and that fixed the issue. He went immediately to the error handler I wanted him (WHEN table_not_found THEN) as opposed to "When OTHERS" Finally the issue is fixed. Thanks a lot for everyone taking the time. Very much appreciated.

  • Set the error code for the exception qualified using the pragma exception_init

    Hello

    I did experiments on exception management in oracle plsql. In my experiments, I did the following anonymous plsql block.


    + < < outer_block > > +.
    declare
    + exceptions.    +
    Start
    + < < inner_block > > +.
    + State +.
    + exceptions.        +
    + start +.
    + recovery outer_block.exc +;
    + exception +.
    + What then outer_block.exc +.
    + dbms_output.put_line ("' outdoor Exception caught"); +
    + What then inner_block.exc +.
    + dbms_output.put_line ("'Inner Exception caught"); +
    + end; +
    end;


    When I run the code, I got the output "external Exception caught".

    ------------------------------------------------- PLSQL Block 2 -------------------------------------------

    I changed the code a little differently by assigning exceptions error codes.

    + < < outer_block > > +.
    declare
    + exception exc; +
    + pragma exception_init (exc,-20001); +
    Start
    + < < inner_block > > +.
    + State +.
    + exception exc; +
    + pragma exception_init (exc,-20001); +
    + start +.
    + raise_application_error (-20001, "Error"); +
    + exception +.
    + What then outer_block.exc +.
    + dbms_output.put_line ("' outdoor Exception caught"); +
    + What then inner_block.exc +.
    + dbms_output.put_line ("'Inner Exception caught"); +
    + end; +
    end;

    When I run the above code, I got the following error.

    Error on line 1
    ORA-06550: line 15, column 9:
    PLS-00484: exceptions redundant "EXC" and "EXC" must appear in the same exception handler
    ORA-06550: line 5, column 1:
    PL/SQL: Statement ignored

    Script done on line 21.

    ------------------------------------------------- PLSQL Block 3 -------------------------------------------


    To avoid this error, I changed the code again by qualifying exceptions with their block names. This time, I got a different error.

    + < < outer_block > > +.
    declare
    + exception exc; +
    + pragma exception_init (outer_block.exc,-20001); +
    Start
    + < < inner_block > > +.
    + State +.
    + exception exc; +
    + pragma exception_init (inner_block.exc,-20001); +
    + start +.
    + raise_application_error (-20001, "Error"); +
    + exception +.
    + What then outer_block.exc +.
    + dbms_output.put_line ("' outdoor Exception caught"); +
    + What then inner_block.exc +.
    + dbms_output.put_line ("'Inner Exception caught"); +
    + end; +
    end;


    Error on line 1
    ORA-06550: line 4, column 38:
    PLS-00103: encountered the symbol ". «» When expecting one of the following values:

    ), = >
    The symbol"were replaced by". "to continue.
    ORA-06550: line 9, column 42:
    PLS-00103: encountered the symbol ". «» When expecting one of the following values:

    ), = >
    The symbol"were replaced by". "to continue.



    Question:
    Pourraient several exceptions with the same name of the exception defined in the set of nested blocks plsql assign error codes using the pragma EXCEPTION_INIT? If there are errors in the PLSQL 2 blocks and 3, please suggest.
    If the same thing could be accomplished by other methods, please explain.

    The problem in your code block 2 is that you have not only used the same name of the exception, but you have assigned them with the same exception code. If the code is different so it will work...

    SQL> set serverout on
    SQL> ed
    Wrote file afiedt.buf
    
      1  <>
      2  declare
      3      exc exception;
      4      pragma exception_init(exc,-20001);
      5  begin
      6      <>
      7      declare
      8          exc exception;
      9          pragma exception_init(exc,-20002);
     10      begin
     11          raise_application_error(-20002,'Error raised');
     12      exception
     13          when outer_block.exc then
     14              dbms_output.put_line('outer Exception caught ' );
     15          when inner_block.exc then
     16              dbms_output.put_line('Inner Exception caught ' );
     17      end;
     18* end;
    SQL> /
    Inner Exception caught
    
    PL/SQL procedure successfully completed.
    
    SQL> ed
    Wrote file afiedt.buf
    
      1  <>
      2  declare
      3      exc exception;
      4      pragma exception_init(exc,-20001);
      5  begin
      6      <>
      7      declare
      8          exc exception;
      9          pragma exception_init(exc,-20002);
     10      begin
     11          raise_application_error(-20001,'Error raised');
     12      exception
     13          when outer_block.exc then
     14              dbms_output.put_line('outer Exception caught ' );
     15          when inner_block.exc then
     16              dbms_output.put_line('Inner Exception caught ' );
     17      end;
     18* end;
    SQL> /
    outer Exception caught
    
    PL/SQL procedure successfully completed.
    
  • Good practices of FIFO: updated old cluster or create new

    Hello world

    My question is more on "good practices" that really solve a problem.

    I use FIFO to send images and other data from a producer to a consumer.

    I created a cluster which includes all the data that must be sent through the FIFO.

    My question is: can I create a new cluster to each loop of the producer and put this cluster in the FIFO or should I set a shift and then register and update the data of this fallen registry change by sending in the FIFO?

    Below you will find two screenshots that sums up the idea (NB: these aren't the real VI.) We come here to show the general idea).

    If there is a difference (in the way that the computer uses memory for example, or something else...) between these two methods of programming, you will give me some details so that I can understand why to use one over the other, please?

    Thank you very much.

    Best regards.

    Luke

    I think that there is very little difference in terms of performance (perhaps the registry approach change is slower than sliiightly - but probably not noticeable in most cases).

    The main reason you want to use the shift register approach is that if you update only certain values before sending the data in the queue, those that would be lost if you created a new cluster each time. For example, if 'Directories' was constant, you could just power/updating that once the value to the registry to shift and just update the part "ImageAcquired" of the cluster before you send it in the queue. This also means that if you update your cluster to have more elements (using a type-def, of course), you can be less worried about having to update the individual elements.

    I think it is less a problem of performance (both are valid and effective) and more a matter of maintainability and flexibility.

  • Normal reboot a server DB is a good practice?

    Hi all

    Recently, I hit a bug "Bug 10194190 - Solaris: spin process and/or ASM and DB crash if RAC instance > 248 days ( Doc ID 10194190.8 )" "

    One solution is to restart the Server DB regularly.

    I would like to know if control restart a server DB is a good practice in a normal case without hitting the bug.

    In my experience, Unix platform is more stable than the Windows platform in

    end of time. Truth without papers we need to restart Windows

    Server for the services included in some cases.

    I heard not to restart a database regularly in the Unix platform.

    To my knowledge, a 7 x 24 reviews should have as more long availability possible.

    However, I share that a database must be restarted in some cases as

    patching and some other maintenance.

    In our case, I agree that we must take this workaround solution, restart regularly the DB server, to

    the problem at this point. However, I want to know, as a good practice, if a DB server must be restarted on a regular basis in the

    normal case without hitting the bug.

    Maybe a need to define "regular". To my knowledge, the bounce is not good because it has continuous setting on in the background, which is reset every rebound in memory. I am referring to the tuning that is associated with the presence of the SPFILE.

    I don't know how long it takes before this system is on the right track, it's an interesting question.

    But rebounding is good, because ultimately you will need a few days. Nothing like a test procedure and bounce a database is one procedure like the others.

    Obviously, 24/7 databases are a reality, which makes this exercise very difficult/impossible.

    Not many problems will be solved with bounce data well. But if a problem appears as it does, it is not impossible. I saw only once (on a Unix system). In the end, no one was able to explain the cause, and bounce was unsalted solution. The dirty fix was: kill the production process. And the problem disappeared with the upgrade (11g). Just a fact.

  • What is a good practice to manage LOV in jdev apps?

    Hi, experts,
    In jdev 11.1.2.3,.

    In our projects, there are numerous LOVs whose value are stored in a common dictionary table, for example in the refcode table:
    refcode (id, low_value, high_value, sense, domain_no),
    Different LOVs can extract value peers (low_value, meaning), or (high_value, sense) refcode table by using domain_no as the filter criteria.

    In the user interface of the user, the values of field/code number should be displayed by a sense of refcode password
    To achieve this, I'll create many links between the different tables with refcode,
    and create your entity refcode consider the secondary entity views.

    I feel some odd (because so many associations with the same table refcode),
    What is a good practice to manage LOV in this way?

    Thank you.

    The merger for Oracle Application Development Framework Developer's Guide
    10.3 defining an object of basic display for use with Lookup Tables
    (http://docs.oracle.com/cd/E37975_01/web.111240/e16182/bclookups.htm#BABIBHIJ)
    10.3.3 How to set the WHERE Clause of the view of search criteria to display object

    There is valuable information and suggestions on the search features to implement, in particular using view criteria
    (see criteria and display accessor is one of the important and a great idea in ADF)

    I think that, by using the view criteria, attribute derived to display information of fk can be implemented without definition of associations FK convinent way.

  • I would like to add a name above that too good image that match wii the other images, how can I do this?

    I would like to add a name above that too good image that match wii the other images, how can I do this?F Page 20 copy.jpg

    No, it's a photo,

    It looks like a collage of four photographs with some texts.

    If you do not have the texts as text layers, you must determine the fonts used, then you can create a text with additional text layer.

  • pragma exception_init, initialize several exceptions

    Hi all

    Is it possible to initialize in the pragma even more then on exception?

    example:

    declare

    e_table_not_exists exception;

    exception of _divide_in_zero e;

    pragma

    exception_init (e_table_not_exists,-942), (e_divide_in_zero,-1476);

    .

    .

    Thanks in advance
    Naama

    No.; You must declare every exception_init in its own pragma.

    ex.:

    pragma exception_init (e_table_not_exists,-942);

    pragma exception_init (e_divide_in_zero,-1476);

  • Is this a good practice if oracle home is installed under / opt directory?

    Is this a good practice if oracle home is installed under / opt directory?
    Appreciate any suggestions.

    S.

    PL post OS and database versions. You can install in any directory you choose - recommendations are documented - http://docs.oracle.com/cd/E11882_01/install.112/e24321/appendix_ofa.htm

    HTH
    Srini

  • Universal English or International English that is good for the UK user

    Universal English or International English that is good for the UK user

    English universal is a North American English.  International English is British English.

  • What is good practice to update fields of VO on the user action

    Hi all

    version: Jdeveloper: 11.1.2.1.0

    I have an obligation to update some fields in VO (such as status, date of approval) to the "Approve" button is clicked, I want to know what the good practice of VO update in this case because I see two options for me here.

    1 1 manipuler handle in a managed bean, get the iterator VO and to update the VO and invoke the validation operation.
    2. write a method in AM and get the VO, update the attributes of the vo and call commit transaction db.

    Can anyone suggest what is good practice in this case?

    Kind regards
    Delighted Nuka.

    How about a combination of the two?
    The requirement is a requirement of the company, the method must be implemented in the model. Use a method in the vo or am for her. This method you expose on the customer interface and then call through the layer, just like you call create method error. After you call the method commit the bean or no later than the point in your workflow.
    You should not call commit inside the method as method then can be part of a larger transaction.

    Timo

  • Pragma Exception_INIT-doubt

    Hi all

    Why we use Pragma Exception_INIT what is the purpose?
    Declare     
          e_MissingNull EXCEPTION;
         PRAGMA EXCEPTION_INIT(e_MissingNull, -1400);
    BEGIN
         INSERT INTO Employees (employee_id) VALUES (NULL);
    EXCEPTION
         WHEN e_MissingNull then
            DBMS_OUTPUT.put_line('ORA-1400 occurred');
    END;
    When I give the code above I
    PL/SQL procedure successfully completed. ORA-1400 has occurred

    The same code when I try to give the error message is ORA-1500 took place
    I get
    ORA-01400: cannot insert NULL into ("XXI". "'"' EMPLOYEES'."" EMPLOYEE_ID')
    ORA-06512: at line 6
    Why is it happening?

    And when I use to try to get the error messgae to display not valid instead of Zero_divide
    Declare    
           I Number; 
          e_sample EXCEPTION;
         PRAGMA EXCEPTION_INIT(e_sample, -5737);
    BEGIN
         select 1/0 Into I From Dual ; -- I know Zero_Divide Error i thought the changing this error in my style 
    EXCEPTION
         WHEN e_smple then
            DBMS_OUTPUT.put_line('ORA-5737 Not valid');
    END;
    But the result is
    ORA-01476: divisor is equal to zero

    Please let me know the purpose and the use of Pragma Exception_INIT

    I thank in advance
    Suresh

    Please take a read of {: identifier of the thread = 697262} for a better understanding of the management of exceptions.

    Looks like you are trying to do parts of more advanced pragma of handling exceptions before you even understand the basics.

  • example of a good practices network VMware?


    Hello

    I'm planning a vmware host cluster two for the first time and I would like to get some tips on the piece of networking of it. Best practices suggest separate vsphere traffic network for management traffic. Does this mean I should have a separate network/subnet for host, vMotion, SAN and VM real data traffic management? And each of them should be on their own VLAN?

    It would be easier for me to understand if I have an example with IPs and VLANS shown on them. Anyone know of any good vmware best practice examples that I can find?

    Thank you.

    Shivani

    You are on the right track. The ESX host has only a default gateway, and this default gateway must be on the vMkernel MGMT interface.

    Other interfaces such as vMotion and storage (NFS and iSCSI) generally should not be routed and do not need a default gateway. In VMware 5.5 introduced several piles of TCPIP and the ability to assign a VMkernel interface to a stack, but this feature is not required for most installations.

    He would just place the interface of vmotion of all hosts in your cluster in the same VLAN, and they will be able to talk to each other without a gateway L3 on the VLAN. Same deal with storage, put the hosts and the interface of the storage on the same target VLAN.

  • Can someone offer to please a good practice and study of materials 1z0-146?

    Hello world

    I want to give the Oracle 1Z0-146 g Advanced PL/SQL 11. I gave the previous reviews 1zo-047 and 1zo-147. Can someone please suggest good study documents (books, online documents, practical test) Iz0 - 146. Thank you!!!

    Concerning
    Gerard

    MS wrote:
    Hello world

    I want to give the Oracle 1Z0-146 g Advanced PL/SQL 11. I gave the previous reviews 1zo-047 and 1zo-147. Can someone please suggest good study documents (books, online documents, practical test) Iz0 - 146. Thank you!!!

    Concerning
    Gerard

    More I noticed the following kinde e-book:

    http://www.cxguide.NET/ - The Expert Guide concise PL/SQL... which may have some relevance. It is available on the kindle on Amazon (UK / US) ... I am not available for all countries.
    ... I guess it's safe certification and use the original material
    .... He saw there of PDF documents at the website of the author above. IMHO style is folk and talkative possilby which may not be suitable for some people (although it comes to the introduction). ' (Funnell (August 6, 2011))'

    It claims to cover all topics of certification 1z0-146.

    .... What follows is a little off line and in my humble OPINION and poster not really useful for the original, (these its useful for me to return to answer the other questions).

    1Z0 - 146... not relating to the PDF preview he suggested another book to learn the PL/SQL... which seems critical on amazon like new with a 'style talkative'... which seems to have worked for some people and not for others. (Starting from PL/SQL: from novice to professional (voice of the Expert in Oracle) ISBN-13: 978 - 1590598825)

    (To give a bit of background here, only the last piece is relevant; I am an OCA PL/SQL, but I have never round up there OCP PL/SQL. I just spent my LPIC-2 201... but estimate that I have to put in a litte more than efforts I want to commit to spend my LPIC-2-202, that I would right now... and I would be favorable to leave it for a few months and also to focus first. In any case a review of here where I am today indicates a PL/SQL OCP pourrait have more synergy with my goals in the short term and less than the gap a few other certifications I could go (and I didn't like this a month or even a week or even two days ago). And Matthew references above are of course useful. ..... To get point I am undecided on a cost/risk/benefit is that the above work by Funnell adds value to me).

    Published by: bigdelboy on January 22, 2013 01:27 - I bought and skim The Guide concise Expert PL/SQL. And I like it and think it's good value / price for me. The key point is that it is safe certification. It does not directly reference 1z0 - 146 topics, but it does not seem to cover most of the land. In the body of the book after the first chapter, the style was much less folk that I feared. He seemed to give some good advice and tips and and took note of certain behaviors that may not be as you would expect... the kind of thing that could take one in a review. I could see some people love it. (No doubt will have another set of people who find useless). This is not a complete or necessarily accurate review, but it's just to say that I see a number of candidates 1z0-146 (and even practitioners of PL/SQL) find it useful.

  • DAQmx tasks for Subvi of good practices

    Hello

    I wonder about the best way to create the subVIs that don't repeatitive entry analog and digital output several times in a program. Specifically, should I create a new task using DAQmx create channel in the Subvi or should I create the task in the main VI and put the task in the subVIs? Create and delete a new string into a Subvi would affect the States of digital output line (for example to change a line in the default state) after that the program will stop at the Subvi?

    I'll collect digital 6-channel analog inputs and 2 outputs to control a magnet. The program only collects analog inputs for 5 seconds each time (based on the user's selection) and active the magent or not based on the analog input.

    I update an old program LV traditional data acquisition functions allowing to use the new DAQmx features. The old program was written in LV 8.6 and used the DAQCard-6036E card and I update it LV 2013 and the USB-6212 mass unit.

    Thank you

    Frank

    If you call this VI a good amount, then I create the task in advance and pass it in.  Re-create the task just request in trouble, especially since I don't see you close either.

Maybe you are looking for