SQL Developer validation

Hi,
I am new in SQL Developer and I would like to deploy it for the Oracle Clinical Datamanagers developers. Please can you tell me if anyone did this experience, to understand how we have to proceed with the pharmaceutical validation?
How we can validate this tool to be compliant with the pharmaceutical regulatory?
Should we write a validation plan, with QI, QO, QP?
Which strategy we have to follow?
Thanks

I've not heard of anyone doing this before. I know a customer that did a validation for some credit card compliances but that's all I've heard of. If there's specifics you need, let us know.
-kris

Similar Messages

  • SQL Developer Unit Testing - Validation with PL/SQL

    Hi,
    I am trying to create Unit tests using SQL Developer UT framework.
    But when i am creating validation using User PL/SQL code option.
    Then how can i check value returned by l_count in code snippet below:
    -- Please raise an exception if the validation fails.
    -- For example:
    DECLARE
    l_count NUMBER;
    wrong_count EXCEPTION;
    BEGIN
    SELECT count(*) into l_count
    FROM test_recon
    WHERE
    match_num = 99836936
    AND Stg_status_flag <> 'E';
    IF l_count = 0
    THEN
    RAISE wrong_count;
    END IF;
    END;
    Also, can someone please refer me to few more demo examples (apart from oracle docs) to implement good test cases with SQL developer.
    I appreciate your help.
    Regards
    Dipali

    Probably not the answer you're looking for, but back when I was playing around with the Unit Test stuff, I didn't have sys privs, and the DBAs were a little busy at the time to set a up a repository for me. Rather than wait, I installed Oracle XE on my machine and created a small dev schema and deployed unit test to that. It's so much easier to perform quick proof of concepts when you have full control.

  • SQL Developer BUG - ORA-00980 Synonym Translation No Longer Valid

    We have a read only database of our Production and when I try to access any data using the SQL Developer, I'm getting the following Error.
    Error at Command Line:1 Column:14
    Error report:
    SQL Error: ORA-00980: synonym translation is no longer valid
    If I access the same from SQL Plus, Toad or SQL Station, It works fine. Seems some error in SQL Developer.
    Any one with Ideas or suggestions.

    we have DB cloned from Prod everynight and is available for us on readonly access. No read /write privs to any user including DBA.
    I think the DB is opened with ALTER DATABASE OPEN READ ONLY;
    Also to mention, all the tables in the db can be accessible only by read only user who was given select permission on synonyms.
    --VB                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • Password change fails in SQL Developer with verify function...

    A couple of months ago I enforced a password verify function on our 11.2.0.3 databases and also one legacy 10.2.0.4 database.
    At the time I tested on my account (which had elevated privileges...doh!).   Now some users are hitting expiry, they can't change it via SQL Developer.
    If I create a user with 'create session' privilege and set their profile to one that uses the verify function (see both below), I then log in to SQL Developer (we have tried with versions 3.1 (Windows) and 3.2 (Linux) with same failure results.
    BTW,.. the password verify function enforces the following:
    password must be minimum of 8 characters
    password must not be the same as the user name, or user name (1-100)
    password must contain at least a single digit
    password must contain at least a single character
    1. Works = I log into the local server and run command line SQLPlus, type 'password' and update.   I can successfully change my password.
    2. Fails = I log into the local server and run command line SQLPlus, type 'alter user <me> identified by <newpwd>;' I get:
    TEST: SUTEMP > alter user sutemp identified by carport9999;
    alter user sutemp identified by carport9999
    ERROR at line 1:
    ORA-28221: REPLACE not specified
    This error is because the account does not have the 'alter user' privilege.   I'm okay with this, as I don't want our users having this privilege.
    3. I start SQL Developer 3.2, type 'alter user <me> identified by <newpwd>;' I get the same ORA-28221 error as above.   That is fine, and as expected.
    4. Now in SQL Developer, I type 'password', set a valid password, but I get 'Failed to change password' in the Script Output tab.
    I have a database 'after servererror on database' trigger set, and querying the database table it is logging into, I see a record with a date stamp matching my failure with a server_error=28221 (the same as above).
    So I'm wondering if I'm doing something wrong here, or if this is a bug in SQL Developer.   I don't want standard users having 'alter user' privileges, but I do want to enforce password verification.
    I get the same result on three 11.2.0.3 databases (haven't tried any more but suspect same results for others) and one legacy 10.2.0.4 database, and using SQL Developer 3.1 and 3.2.
    DBA_PROFILE used:
    PROFILE   
    RESOURCE_NAME  
    RESOURCE LIMIT
    CTRU  
    COMPOSITE_LIMIT  
    KERNEL     DEFAULT
    CTRU  
    SESSIONS_PER_USER  
    KERNEL     10
    CTRU  
    CPU_PER_SESSION  
    KERNEL     DEFAULT
    CTRU  
    CPU_PER_CALL  
    KERNEL     DEFAULT
    CTRU  
    LOGICAL_READS_PER_SESSION    KERNEL     DEFAULT
    CTRU  
    LOGICAL_READS_PER_CALL  
    KERNEL     DEFAULT
    CTRU  
    IDLE_TIME  
    KERNEL     DEFAULT
    CTRU  
    CONNECT_TIME  
    KERNEL     DEFAULT
    CTRU  
    PRIVATE_SGA  
    KERNEL     DEFAULT
    CTRU  
    FAILED_LOGIN_ATTEMPTS  
    PASSWORD 10
    CTRU  
    PASSWORD_LIFE_TIME  
    PASSWORD 180
    CTRU  
    PASSWORD_REUSE_TIME  
    PASSWORD DEFAULT
    CTRU  
    PASSWORD_REUSE_MAX  
    PASSWORD 5
    CTRU  
    PASSWORD_VERIFY_FUNCTION     PASSWORD VERIFY_FUNCTION_11G
    CTRU  
    PASSWORD_LOCK_TIME  
    PASSWORD .002
    CTRU  
    PASSWORD_GRACE_TIME  
    PASSWORD 21
    16 rows selected.
    Verify Function used:
    $ cat utlpwdmg.sql
    Rem
    Rem $Header: utlpwdmg.sql 02-aug-2006.08:18:05 asurpur Exp $
    Rem
    Rem utlpwdmg.sql
    Rem
    Rem Copyright (c) 2006, Oracle. All rights reserved.
    Rem
    Rem    NAME
    Rem      utlpwdmg.sql - script for Default Password Resource Limits
    Rem
    Rem    DESCRIPTION
    Rem      This is a script for enabling the password management features
    Rem      by setting the default password resource limits.
    Rem
    Rem    NOTES
    Rem      This file contains a function for minimum checking of password
    Rem      complexity. This is more of a sample function that the customer
    Rem      can use to develop the function for actual complexity checks that the
    Rem      customer wants to make on the new password.
    Rem
    Rem    MODIFIED   (MM/DD/YY)
    Rem    suren       05/09/13 - customise for NIHI use
    Rem    asurpur     05/30/06 - fix - 5246666 beef up password complexity check
    Rem    nireland    08/31/00 - Improve check for username=password. #1390553
    Rem    nireland    06/28/00 - Fix null old password test. #1341892
    Rem    asurpur     04/17/97 - Fix for bug479763
    Rem    asurpur     12/12/96 - Changing the name of password_verify_function
    Rem    asurpur     05/30/96 - New script for default password management
    Rem    asurpur     05/30/96 - Created
    Rem
    -- This script sets the default password resource parameters
    -- This script needs to be run to enable the password features.
    -- However the default resource parameters can be changed based
    -- on the need.
    -- A default password complexity function is also provided.
    -- This function makes the minimum complexity checks like
    -- the minimum length of the password, password not same as the
    -- username, etc. The user may enhance this function according to
    -- the need.
    -- This function must be created in SYS schema.
    -- connect sys/<password> as sysdba before running the script
    CREATE OR REPLACE FUNCTION verify_function_11G
    (username varchar2,
      password varchar2,
      old_password varchar2)
      RETURN boolean IS
       n boolean;
       m integer;
       differ integer;
       isdigit boolean;
       ischar  boolean;
       ispunct boolean;
       db_name varchar2(40);
       digitarray varchar2(20);
       punctarray varchar2(25);
       chararray varchar2(52);
       i_char varchar2(10);
       simple_password varchar2(10);
       reverse_user varchar2(32);
    BEGIN
       digitarray:= '0123456789';
       chararray:= 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
       -- Check for the minimum length of the password
       IF length(password) < 8 THEN
          raise_application_error(-20001, 'Password length less than 8');
       END IF;
       -- Check if the password is same as the username or username(1-100)
       IF NLS_LOWER(password) = NLS_LOWER(username) THEN
         raise_application_error(-20002, 'Password same as or similar to user');
       END IF;
       FOR i IN 1..100 LOOP
          i_char := to_char(i);
          if NLS_LOWER(username)|| i_char = NLS_LOWER(password) THEN
            raise_application_error(-20005, 'Password same as or similar to user name ');
          END IF;
        END LOOP;
       -- Check if the password contains at least one letter, one digit
       -- 1. Check for the digit
       isdigit:=FALSE;
       m := length(password);
       FOR i IN 1..10 LOOP
          FOR j IN 1..m LOOP
             IF substr(password,j,1) = substr(digitarray,i,1) THEN
                isdigit:=TRUE;
                 GOTO findchar;
             END IF;
          END LOOP;
       END LOOP;
       IF isdigit = FALSE THEN
          raise_application_error(-20008, 'Password must contain at least one digit, one character');
       END IF;
       -- 2. Check for the character
       <<findchar>>
       ischar:=FALSE;
       FOR i IN 1..length(chararray) LOOP
          FOR j IN 1..m LOOP
             IF substr(password,j,1) = substr(chararray,i,1) THEN
                ischar:=TRUE;
                 GOTO endsearch;
             END IF;
          END LOOP;
       END LOOP;
       IF ischar = FALSE THEN
          raise_application_error(-20009, 'Password must contain at least one digit, and one character');
       END IF;
       <<endsearch>>
       -- Check if the password differs from the previous password by at least
       -- 3 letters
       IF old_password IS NOT NULL THEN
         differ := length(old_password) - length(password);
         differ := abs(differ);
         IF differ < 3 THEN
           IF length(password) < length(old_password) THEN
             m := length(password);
           ELSE
             m := length(old_password);
           END IF;
           FOR i IN 1..m LOOP
             IF substr(password,i,1) != substr(old_password,i,1) THEN
               differ := differ + 1;
             END IF;
           END LOOP;
           IF differ < 3 THEN
             raise_application_error(-20011, 'Password should differ from the old password by at least 3 characters');
           END IF;
         END IF;
       END IF;
       -- Everything is fine; return TRUE ;
       RETURN(TRUE);
    END;
    alter profile ctru limit password_verify_function verify_function_11g;
    alter profile default limit password_verify_function verify_function_11g;
    alter profile web_and_it limit password_verify_function verify_function_11g;

    okay,... I just saw another website which shows I should put in the 'replace <oldpwd>' clause in.
    This works in SQL Developer:     alter user sutemp identified by carport999 replace garage999;
    So why does the 'password' command fail?     (Developers:  it would also be helpful to have the ORA- error displayed as opposed to 'Failed to change password')

  • GeoRaptor 3.0 for SQL Developer 3.0 and 2.1 has now been released

    Folks,
    I am pleased to announce that, after 5 months of development and testing, a new release of GeoRaptor for SQL Developer 2.1 and 3.0 is now available.
    GeoRaptor for SQL Developer 3 is available via the SQL Developer Update centre. GeoRaptor 3 for SQL Developer 2.1 is being made available
    via a download fro the GeoRaptor website.
    No release notes have been compiled as the principal developer (oops, that's me!) is currently busy doing real work for a change (another 3 weeks), earning a living
    and keeping the wolves at bay. More extensive notes (with images) will be compiled when I get back. (Unless anyone is offering! See next.)
    We are still looking for people to:
    1. Provide translations of the English dialog menus etc.
    2. Write more extensive user documentation. If you use a particular part of GeoRaptor a lot and think
    you have found out all its functionality and quirks, contact us and offer to write a few pages of
    documentation on it. (Open Office or Microsoft Word is fine.) Easiest way to do this is to simply
    make screen captures and annotate with text.
    3. Conduct beta testing.
    Here are the things that are in the new release.
    New functionality:
    Overhaul of Validation Functionality.
    1. User can specify own validation SELECT SQL as long as it returns three required columns. The SQL is thus totally editable.
    2. Validation update code now allows user to associate a PL/SQL function with an error number which is applied in the UPDATE SQL.
    3. UPDATE SQL can use WHERE clause of validation SELECT SQL (1) to update specific errors.
       NOTE: The generated UPDATE statement can be manually edited. It is NEVER run by GeoRaptor. To run any UPDATE, copy the statement
       to the clipboard and run in an appropriate SQL Worksheet session within SQL Developer.
    4. Main validation table allows:
       a. Sorting (click on column header) and
       b. Filtering.
       c. Copying to Clipboard via right mouse click sub menu of:
          - Geometry's SDO_ELEM_INFO array constructor.
          - SDO_GEOMETRY constructor
          - Error + validation string.
       d. Access to Draw/Zoom functions which were previously buttons.
       e. Added a new right mouse click menu "Show Feature's Individual Errors" that gathers up all the errors
          it can process - along with the ring / element that is host to the error (if it can) - and displays
          them in the Attribute/Geometry tabs at the bottom of the Map Window (where "Identify" places its results).
          The power of this will be evident to all those who have wanted a way of stepping through errors in a geometry.
       f. Selected rows can now be deleted (select rows: press <DELETE> key or right mouse click>Delete).
       g. Table now has only one primary key column, and has a separate error column holding the actual error code.
       h. Right mouse click men added to table menu to display description of error in the new column (drawn from Oracle documentation)
       i. Optimisations added to improve performance for large error lists.
    5. Functionality now has its own validation layer that is automatically added to the correct view.
       Access to layer properties via button on validation dialog or via normal right mouse click in view/layer tree.
    Improved Rendering Options.
    1. Linestring colour can now be random or drawn from column in database (as per Fill and Point colouring)
    2. Marking of SDO_GEOMETRY objects overhauled.
       - Ability to mark or LABEL vertices/points of all SDO_GEOMETRY types with coordinate identifier and
         option {X,Y} location. Access is via Labelling tab in layer>properties. Thus, coordinate 25 of a linestring
         could be shown as: <25> or {x,y} or <25> {x,y}
       - There is a nice "stacked" option where the coordinate {x,y} can be written one line below the id.
       - For linestrings and polygons the <id> {x,y} label can be oriented to the angle between the vectors or
         edges that come in, and go out of, a vertex. Access is via "Orient" tick box in Labelling tab.
       - Uses Tools>Preferences>GeoRaptor>Visualisation>SDO_ORDINATE_ARRAY bracket around x,y string.
    3. Start point of linestring/polygon and all other vertices can be marked with user selectable point marker
       rather than previously fixed markers.
    4. Can now set a NULL point marker by selecting "None" for point marker style pulldown menu.
    5. Positioning of the arrow for linestring/polygons has extra options:
       * NONE
       * START    - All segments of a line have the arrow positioned at the start
       * MIDDLE   - All segments of a line have the arrow positioning in the middle.
       * END      - All segments of a line have the arrow positioning in the END.
       * END_ONLY - Only the last segment has an arrow and at its end.
    ScaleBar.
    1. A new graphic ScaleBar option has been added for the map of each view.
       For geographic/geodetic SRIDs distances are currently shown in meters;
       For all SRIDs an attempt is made to "adapt" the scaleBar units depending
       on the zoom level. So, if you zoom right in you might get the distance shown
       as mm, and as you zoom out, cm/m/km as appropriate.
    2. As the scaleBar is drawn, a 1:<DEMONINATOR> style MapScale value is written
       to the map's right most status bar element.
    3. ScaleBar and MapScale can be turned off/on in View>Properties right mouse
       click menu.
    Export Capabilities.
    1. The ability to export a selection from a result set table (ie result of
       executing ad-hoc SQL SELECT statement to GML, KML, SHP/TAB (TAB file
       adds TAB file "wrapper" over SHP) has been added.
    2. Ability to export table/view/materialised view to GML, KML, SHP/TAB also
       added. If no attributes are selected when exporting to a SHP/TAB file, GeoRaptor
       automatically adds a field that holds a unique row number.
    3. When exporting to KML:
       * one can optionally export attributes.
       * Web sensitive characters < > & etc for KML export are replaced with &gt; &lt; &amp; etc.
       * If a column in the SELECTION or table/view/Mview equals "name" then its value is
         written to the KML tag <name> and not to the list of associated attributes.
         - Similarly for "description" -> <description> AND "styleUrl" -> <styleUrl>
    4. When exporting to GML one can optionally export attributes in FME or OGR "flavour".
    5. Exporting Measured SDO_GEOMETRY objects to SHP not supported until missing functionality
       in GeoTools is corrected (working with GeoTools community to fix).
    6. Writing PRJ and MapInfo CoordSys is done by pasting a string into appropriate export dialog box.
       Last value pasted is remembered between sessions which is useful for users who work with a single SRID.
    7. Export directory is remembered between sessions in case a user uses a standard export directory.
    8. Result sets containing MDSYS.SDO_POINT and/or MDSYS.VERTEX_TYPE can also be written to GML/KML/SHP/TAB.
       Example:
       SELECT a.geom.sdo_point as point
         FROM (SELECT sdo_geometry(2002,null,sdo_point_type(1,2,null),sdo_elem_info_array(1,2,1),sdo_ordinate_array(1,1,2,2)) as geom
                 FROM DUAL) a;
       SELECT mdsys.vertex_type(a.x,a.y,a.z,a.w,a.v5,a.v6,a.v7,a.v8,a.v9,a.v10,a.v11,a.id) as vertex
         FROM TABLE(mdsys.sdo_util.getVertices(mdsys.sdo_geometry(2002,null,null,sdo_elem_info_array(1,2,1),sdo_ordinate_array(1,1,2,2)))) a;
    9. A dialog appears at the end of each export which details (eg total) what was exported when the exported recordset/table contains more
       than on shape type. For example, if you export only points eg 2001/3001 from a table that also contains multipoints eg 2005/3005 then
       the number of points exported, and multipoints skipped will be displayed.
    10. SHP/TAB export is "transactional". If you set the commit interval to 100 then only 100 records are held in memory before writing.
        However, this does not currently apply to the associated DBASE records.
    11. SHP/TAB export supports dBase III, dBase III + Memo, dBase IV and dBase IV + Memo.
        Note: Memo allows text columns > 255 characters to be exported. Non-Memo formats do not and any varchar2 columns will be truncated
        to 255 chars. Some GIS packages support MEMO eg Manifold GIS, some do not.
    12. Note. GeoRaptor does not ensure that the SRID of SDO_GEOMETRY data exported to KML is in the correct Google Projection.
        Please read the Oracle documentation on how to project your data is this is necessary. An example is:
        SELECT OBJECTID,
               CODIGO as name,
               NOME as description,
               MI_STYLE,
               SDO_CS.TRANSFORM(shape,'USE_SPHERICAL',4055) as shape
          FROM MUB.REGIONAL;
    13. NOTE: The SHP exporter uses the Java Topology Suite (JTS) to convert from SDO_GEOMETRY to the ESRI Shape format. JTS does not handle
        circular curves in SDO_GEOMETRY objects you must "stroke" them using sdo_util.arc_densify(). See the Oracle documentation on how
        to use this.
    Miscellaneous.
    1. Selection View - Measurement has been modified so that the final result only shows those geometry
       types that were actually measured.
    2. In Layer Properties the Miscellaneous tab has been removed because the only elements in it were the
       Geometry Output options which have now been replaced by the new GML/KML/etc export capabilities.
    3. Shapefile import's user entered tablename now checked for Oracle naming convention compliance.
    4. Identify based on SDO_NN has been removed from GeoRaptor given the myriad problems that it seems to create across versions
       and partitioned/non-partitioned tables. Instead SDO_WITHIN_DISTANCE is now used with the actual search distance (see circle
       in map display): everything within that distance is returned.
    5. Displaying/Not displaying embedded sdo_point in line/polygon (Jamie Keene), is now controlled by
       a preference.
    6. New View Menu options to switch all layers on/off
    7. Tools/Preferences/GeoRaptor layout has been improved.
    8. If Identify is called on a geometry a new right mouse click menu entry has been added called "Mark" which
       has two sub-menus called ID and ID(X,Y) that will add the labeling to the selected geometry independently of
       what the layer is set to being.
    9. Two new methods for rendering an SDO_GEOMETRY object in a table or SQL recordset have been added: a) Show geometry as ICON
       and b) Show geometry as THUMBNAIL. When the latter is chosen, the actual geometry is shown in an image _inside_ the row/column cell it occupies.
       In addition, the existing textual methods for visualisation: WKT, KML, GML etc have been collected together with ICON and THUMBNAIL in a new
       right mouse click menu.
    10. Tables/Views/MViews without spatial indexes can now be added to a Spatial View. To stop large tables from killing rendering, a new preference
        has been added "Table Count Limit" (default 1,000) which controls how many geometry records can be displayed. A table without a spatial
        index will have its layer name rendered in Italics and will write a warning message in red to the status bar for each redraw. Adding an index
        which the layer exists will be recognised by GeoRaptor during drawing and switch the layer across to normal rendering.
    Some Bug Fixes.
    * Error in manage metadata related to getting metadata across all schemas
    * Bug with no display of rowid in Identify results fixed;
    * Some fixes relating to where clause application in geometry validation.
    * Fixes bug with scrollbars on view/layer tree not working.
    * Problem with the spatial networks fixed. Actions for spatial networks can now only be done in the
      schema of the current user, as it could happen that a user opens the tree for another schema that
      has the same network as in the user's schema. Dropping a drops only the network of the current connected user.
    * Recordset "find sdo_geometry cell" code has been modified so that it now appears only if a suitable geometry object is
      in a recordset.  Please note that there is a bug in SQL Developer (2.1 and 3.0) that causes SQL Developer to not
      register a change in selection from a single cell to a whole row when one left clicks at the left-most "row number"
      column that is not part of the SELECT statements user columns, as a short cut to selecting a whole row.  It appears
      that this is a SQL Developer bug so nothing can be done about it until it is fixed. To select a whole row, select all
      cells in the row.
    * Copy to clipboard of SDO_GEOMETRY with M and Z values forgot has extraneous "," at the end.
    * Column based colouring of markers fixed
    * Bunch of performance improvements.
    * Plus (happily) others that I can't remember!If you find any bugs register a bug report at our website.
    If you want to help with testing, contact us at our website.
    My thanks for help in this release to:
    1. John O'Toole
    2. Holger Labe
    3. Sandro Costa
    4. Marco Giana
    5. Luc van Linden
    6. Pieter Minnaar
    7. Warwick Wilson
    8. Jody Garnett (GeoTools bug issues)
    Finally, when at the Washington User Conference I explained the willingness of the GeoRaptor Team to work
    for some sort of integration of our "product" with the new Spatial extension that has just been released in SQL
    Developer 3.0. Nothing much has come of that initial contact and I hope more will come of it.
    In the end, it is you, the real users who should and will decide the way forward. If you have ideas, wishes etc,
    please contact the GeoRaptor team via our SourceForge website, or start a "wishlist" thread on this forum
    expressing ideas for future functionality and integration opportunities.
    regards
    Simon
    Edited by: sgreener on Jun 12, 2011 2:15 PM

    Thank you for this.
    I have been messing around with this last few days, and i really love the feature to pinpoint the validation errors on map.
    I has always been so annoying to try pinpoint these errors using some other GIS software while doing your sql.
    I have stumbled to few bugs:
    1. In "Validate geometry column" dialog checking option "Use DimInfo" actually still uses value entered in tolerance text box.
    I found this because in my language settings , is the decimal operators
    2. In "Validate geometry column" dialog textboxs showing sql, doesn't always show everything from long lines of text (clipping text from right)
    3. In "Validate geometry column" dialog the "Create Update SQL" has few bugs:
    - if you have selected multiple rows from results and check the "Use Selected Geometries" the generated IN-clause in SQL with have same rowid (rowid for first selected result) for all entries
    Also the other generated IN clause in WHERE-clause is missing separator if you select more than one corrective function
    4. "Validate geometry column" dialog stays annoyingly top most when using "Create Update SQL" dialog

  • SPEEDING UP YOUR PL/SQL DEVELOPMENT

    제품 : SQL*PLUS
    작성날짜 : 1997-01-09
    =================================
    Speeding up your PL/SQL development
    =================================
    By Jeff Warner
    If you're doing Oracle database or application development, then you're probably using PL/SQL. Every PL/SQL programmer is familiar with
    using SQL*Plus to develop PL/SQL programs. Developer/2000 offers a better way: Procedure Builder. In this article we'll explore how
    Procedure Builder can improve your PL/SQL development.
    It has a GUI
    ==========
    The first feature you'll notice in Procedure Builder is the graphical user interface (GUI). Procedure Builder provides separate windows for the
    Object Navigator, the PL/SQL interpreter, and the program unit editor. By the way, if you think the program unit editor looks familiar, you're
    probably right. Oracle uses it inside the other tools in Developer/2000 (Forms, Reports, and Graphics). Using the Object Navigator, you can
    view the relationship between your code and the library and packages. Object Navigator also provides the references and referenced-by
    information, as well as giving you the ability to examine the procedures and functions that make up packages and libraries. This makes it very
    easy to take advantage of existing code.
    The PL/SQL interpreter is just what you'd expect. You can use normal SQL and PL/SQL commands and see the results in the output
    window. You create your PL/SQL in the program unit editor window. As with any text editor, you can cut, copy, and paste as well as search
    and replace text. You can also use the editor to import and export source files. However, the editor's best feature is the Compile button. Click
    the Compile button, and Procedure Builder will compile your code and display any errors in the bottom of the window. Click on the error,
    and your cursor will move to the offending line. This will radically improve the compile-debug-run sequence. Speaking of debugging,
    Procedure Builder has something that will really make life easier for you.
    A PL/SQL debugger
    ================
    Yes, Procedure Builder includes a real debugger for PL/SQL. Its features include breakpoints, triggers, variable inspection, variable
    modification, step into, step over, and step out.
    Having a graphical and easy-to-use debugger can dramatically improve code development. For example, to set a breakpoint in your code,
    simply bring the PL/SQL interpreter window to the front and double-click on the line where a breakpoint is needed.
    Once you've set a breakpoint and executed the code, the debugger will stop the program at the breakpoint. From here, you can use Object
    Navigator to view and change the variables in the program. To resume execution, you can use Procedure Builder to step into, step over, or
    step out of a routine. Procedure Builder also provides an option to simply continue execution.
    A powerful feature of Procedure Builder's breakpoints is the capability of adding trigger code. Trigger code is a piece of PL/SQL that
    executes when the breakpoint is hit. You can use this feature to log the value of a variable to the screen or a file.
    If you need a conditional breakpoint, you can use a trigger. For example, let's say you want to stop execution only if the local variable i is
    greater than zero. First, select the line where you want the check to occur and create a trigger by clicking the right mouse button on the line
    and selecting Trigger. This will open the PL/SQL Trigger window. In the Trigger Body area, enter the following command to halt execution:
    if debug.geti('i') > 0 then
    raise debug.break;
    end if;
    Now the program will stop execution only when this condition is valid. You can also use the Trigger Body of a trigger to log information to a
    file or a screen.
    Debugging server-side programs
    ===========================
    The version of Procedure Builder shipped with version 1.2 of Developer/2000 is V1.5.5.7.0. Unfortunately, it doesn't allow you to directly
    debug programs on the server (this is planned for a future version). However, with the click-and-drag partition feature of Developer/2000,
    you can use Object Navigator to drag the program unit from the server to the local program unit and debug it there.
    Lots of help
    =========
    Procedure Builder includes extensive help under Windows. In addition to the normal help available on program features, Procedure Builder
    provides help on the built-in packages as well as the PL/SQL commands to maintain libraries, program units, and packages. Also, version 1.2
    or later of Developer/2000 provides the Cue Cards and Quick Tour.
    Conclusion
    =========
    As you can see, Procedure Builder is a very powerful tool for development. The debugger is first-rate and the extensive help is a great
    addition. One other nice feature of Procedure Builder is that Oracle will license it separately from Developer/2000 if you have users who don't indeed the other parts of Developer/2000. If you're doing PL/SQL programming, you should take advantage of what Procedure Builder has to
    offer.

    micwic --
    I logged bug6508875 for this.
    One suggestion in the meantime until we can get compile errors directed to the log window for offline objects...
    You can open the Database Navigator to point to the same db connection. After generating the offline PL/SQL to the db, refresh the connection in the DB navigator. You will see any invalid objects flagged with an error icon. Then you can right-click on the PL/SQL with the error, and "Make" it. This will display the errors in the log window, similar to SQL Developer.
    -- Brian

  • Unable to connect SQL Developer 4.0.2 to Oracle REST Data Services 2.0.7 (Apex Listener)

    Background
    1. Weblogic 10.3.6.0 running on Oracle Linux 6.5 with Oracle JRockit(R) (build R28.2.3-13-149708-1.6.0_31-20120327-1523-linux-x86_64, compiled mode)
    2. Oracle Apex 4.2.1
    3. Apex Listener 1.1.3
    4. Apex and Apex Listener running on the Weblogic box above
    5. SQL Developer 4.0.2 running on Windows 7 64 bit / Java 1.7.0_55
    Updated Apex to 4.2.5 via p17966818_425_Generic.zip patchset. Apex environment running fine as do all applications via Listener 1.1.3
    Updated Oracle Listener to the latest version of Oracle REST Data Services 2.0.7
    Current Status
    Apex Applications and RESTful services are running fine.
    Problem
    Unable to connect SQL Developer 4.0.2 to Oracle REST Data Services 2.0.7
    Error message in SQL Developer - Cannot connect to DEV. HTTP/1.1 403 Target service not allowed
    Additional Information
    Steps followed -
    1. The oracle users APEX_LISTENER and APEX_REST_PUBLIC_USER did not exist, so I ran apex_rest_config.sql from the APEX 2.4.1 patchset whilst connected sys as sysdba and provided the same password as APEX_PUBLIC_USER for both users.
    2. I also ran
    grant insert, delete on APEX_040200.wwv_flow_rt$privilege_groups to APEX_LISTENER;
    alter session set current_schema = APEX_LISTENER;
    create or replace synonym wwv_flow_rt$privilege_groups for APEX_040200.wwv_flow_rt$privilege_groups;
    as per Oracle SQL Developer User's Guide Release 4.0
    3. copied ords.war to apex.war
    4. java -jar apex.war configdir /u01/app/oracle/admin/apex/devdomain1/
    5. java -jar apex.war
    Jun 5, 2014 5:15:31 PM oracle.dbtools.common.config.file.ConfigurationFolder logConfigFolder
    INFO: Using configuration folder: /u01/app/oracle/admin/apex/devdomain1/apex
    Enter the name of the database server [localhost]:dbservername
    Enter the database listen port [1521]:
    Enter 1 to specify the database service name, or 2 to specify the database SID [1]:1
    Enter the database service name:dbservicename
    Enter the database user name [APEX_PUBLIC_USER]:
    Enter the database password for APEX_PUBLIC_USER:
    Confirm password:
    Enter 1 to enter passwords for the RESTful Services database users (APEX_LISTENER,APEX_REST_PUBLIC_USER), 2 to use the same password as used for APEX_PUBLIC_USER or, 3 to skip this step [1]:2
    Jun 5, 2014 5:16:52 PM oracle.dbtools.common.config.file.ConfigurationFiles update
    INFO: Updated configurations: defaults, apex, apex_al, apex_rt
    Enter 1 if you wish to start in standalone mode or 2 to exit [1]:2
    6. java -jar apex.war user adminlistener "Listener Administrator"
    Jun 5, 2014 5:18:52 PM oracle.dbtools.common.config.file.ConfigurationFolder logConfigFolder
    INFO: Using configuration folder: /u01/app/oracle/admin/apex/devdomain1/apex
    Enter a password for user adminlistener:
    Confirm password for user adminlistener:
    Jun 6, 2014 5:19:12 PM AM oracle.dbtools.standalone.ModifyUser execute
    INFO: Created user: adminlistener in file: /u01/app/oracle/admin/apex/devdomain1/apex/credentials
    7. Updated the defaults.xml file
    Added
    <entry key="apex.security.user.roles">RESTful Services</entry>
    <entry key="apex.security.developer.roles">OAuth2 Client Developer, SQL Developer</entry>
    as per Oracle SQL Developer User's Guide Release 4.0
    Changed
    <entry key="debug.printDebugToScreen">false</entry>
    to
    <entry key="debug.printDebugToScreen">true</entry>
    for RESTful debugging
    Added
    <entry key="security.verifySSL">false</entry>
    to use OAuth2 in Non HTTPS Environment as per Oracle® REST Data Services Installation and Configuration Guide, Release 2.0
    8. Deleted the Admin and Manager Roles within the apex application deployment which were part of the Apex Listener 1.1.3 install
    9. Deployed the apex.war in weblogic
    10. Stopped and started the weblogic server to which apex.war was deployed
    11. In SQL Developer, View, RESTful Services. In the RESTful services windows hit connect, Create a new connection,
    Connection Name DEV
    Username adminlistener
    selected http protocol
    Hostname weblogicservername
    Port 7250
    Server Path /apex
    Workspace (blank)
    On the Authentication dialog
    Username adminlistener
    Password passwordsuppliedabove in step 6
    Response is a dialog box titled Authentication Failed
    message - Cannot connect to DEV. HTTP/1.1 403 Target service not allowed
    NOTHING UNUSUAL IN ANY OF THE WEBLOGIC LOG FILES, EXCEPT THAT IT STATES
    'Oracle REST Data Services version : 2.0.6.27.18.06' when I've installed 2.0.7.
    Any help much appreciated

    Further to the above post, I thought I'd simplify my Apex Listener install just to see if I can connect to it via SQL Developer
    So downloaded the latest version 2.0.8 and decided to configure and run the Listener on my pc whilst still connecting to the same database.
    Operating system : Window 7 Pro 64 bit
    Oracle Apex Listener 2.0.8
    Java(TM) SE Runtime Environment (build 1.7.0_25-b17)
    Java HotSpot(TM) 64-Bit Server VM (build 23.25-b01, mixed mode)
    Went through the configuration as above, once started I tried again to access the listener via SQL Developer. This time I received this output from the listener:
    INFO: Error: ORA-02291: integrity constraint (APEX_040200.WWV_FLOW_RT$APPROVALS_SGID_FK) violated - parent key not found, occurred during execution of: [CALL, insert into wwv_flow_rt$approvals (user_name,status,client_id,security_group_id,created_by,created_on,updated_by,updated_on) values(/*in:user_id*/?,/*in:status*/?,/*in:client_id*/?,/*in:tenant_id*/?,upper(/*in:user_id*/?),/*in:created*/?,upper(/*in:user_id*/?),/*in:created*/?), [tenant_id, in, class java.math.BigInteger], [client_id, in, class java.math.BigInteger], [user_id, in, class java.lang.String], [status, in, class oracle.dbtools.rt.oauth.ApprovalRequest$Status], [created, in, class java.sql.Timestamp]]with values: [adminlistener, APPROVED, 3858401374580004, -1, adminlistener, 2014-06-23 12:19:18.785, adminlistener, 2014-06-23 12:19:18.785]
    SQL Developer responded with an Authentication Failed titled dialog with the following displayed in the body of the dialog
    Cannot connect to DEV.
    <!DOCTYPE html>
    <!--[if lt IE 7 ]> <html class="ie6"> <![endif]-->
    <!--[if IE 7 ]> <html class="ie7 no-css3"> <![endif]-->
    <!--[if IE 8 ]> <html class="ie8 no-css3"> <![endif]-->
    <!--[if IE 9 ]> <html class="ie9"> <![endif]-->
    <!--[if (gt IE 9)|!(IE)]><!-->
    <html>
    <!--<![endif]-->
    <html lang="en">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <style type="text/css" media="screen">html,body,div,span,h3,p,ol,ul,li,header,hgroup{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}header,hgroup{display:block}body{font:normal 12px/16px Arial,sans-serif;margin:0 auto;background:#6a9cda}header#xHeader{border-bottom:1px solid #8fa4c0;position:relative;z-index:10;background:none #000}header#xHeader hgroup{width:974px;margin:0 auto;position:relative;height:36px;background:none #000}header#xHeader a#uLogo{margin:8px 0;display:inline-block;font:bold 14px/20px Arial,sans-serif;color:#AAA;text-decoration:none}header#xHeader a#uLogo span.logo{color:#F00}.no-css3 div#xContentContainer div.xContent{padding-top:14px}.no-css3 div#xContentContainer div.xContent div.xMainLeft h2{margin-top:0}div#xWhiteContentContainer{margin-bottom:30px}div#xWhiteContentContainer.xContentWide{background:#FFF;margin-bottom:0}div#xWhiteContentContainer.xContentWide div.xWhiteContent{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none}div#xWhiteContentContainer div.xWhiteContent{width:974px;margin:0 auto;padding:0 0 20px 0;background:#FFF;min-height:500px;-moz-border-radius:0 4px 4px 4px;-webkit-border-radius:0 4px 4px 4px;border-radius:0 4px 4px 4px;-moz-box-shadow:0 1px 2px rgba(0,0,0,0.15);-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.15);box-shadow:0 1px 2px rgba(0,0,0,0.15)}div#xContentHeaderContainer{background:#6a9cda;-moz-box-shadow:0 -1px 0 rgba(0,0,0,0.15) inset;-webkit-box-shadow:0 -1px 0 rgba(0,0,0,0.15) inset;box-shadow:0 -1px 0 rgba(0,0,0,0.15) inset}div#xContentHeaderContainer div.xContentHeader{width:974px;margin:0 auto;padding:30px 0 32px 0;position:relative;min-height:60px}div#xContentHeaderContainer div.xContentHeader h3{font:bold 24px/24px Arial,sans-serif;color:#fff;text-shadow:0 2px 1px rgba(0,0,0,0.25);margin:0 0 20px 0}div#xFooterContainer{min-height:200px;border-top:1px solid rgba(0,0,0,0.15);background:#6a9cda}body.errorPage div#xContentHeaderContainer div.xContentHeader{min-height:30px}body.errorPage div#xContentHeaderContainer div.xContentHeader h3{font:bold 30px/30px Arial,sans-serif;color:#FFF;text-shadow:0 1px 2px rgba(0,0,0,0.25);margin:0}div.errorPage p{font:normal 14px/20px Arial,sans-seri;color:#666;padding:0 0 10px 0}div.errorPage ul{list-style:disc outside;padding:0 10px 0;margin:0 0 20px 0}div.errorPage ul li{font:normal 12px/16px Arial,sans-serif;color:#666;margin:0 0 8px 10px}pre{font-family:Consolas,"Lucida Console","Courier New",Courier,monospace}
    </style>
    <script type="text/javascript" charset="utf-8">
      'header hgroup'.replace(/\w+/g,
      function(n) {
      document.createElement(n)
    </script>
    <title>Internal Server Error</title>
    </head>
    <body class="errorPage">
      <header id="xHeader">
      <hgroup>
      <a id="uLogo" href="./"><span class="logo">ORACLE</span>
      REST DATA SERVICES</a>
      </hgroup>
      </header>
      <div id="xContentHeaderContainer">
      <div class="xContentHeader">
      <h3>
      <span class="statusCode">500</span> - <span
      class="statusMessage">Internal Server Error</span>
      </h3>
      </div>
      </div>
      <div id="xWhiteContentContainer" class="xContentWide">
      <div class="xWhiteContent">
      <div class="errorPage">
      <p>
      <ul class="reasons">
      </ul>
      </p>
      <p>
      <pre>Request Path passes syntax validation
    Mapping request to database pool: PoolMap [_failed=false, _lastUpdate=-1, _pattern=null, _poolName=apex, _regex=null, _type=REGEX, _workspaceIdentifier=null, _serviceName=null]
    Applied database connection info
    Attempting to process with PL&#x2F;SQL Gateway
    Not processed as PL&#x2F;SQL Gateway request
    Attempting to process as a RESTful Service
    Choosing: oracle.dbtools.rt.oauth.TokenHandler as current candidate with score: Score [handle=null, score=0, scope=SecurityConfig [constraint=secure, realm=OAUTH_CLIENT, logonConfig=NONE], originsAllowed=[], corsEnabled=true]
    Determining if request can be dispatched as a Tenanted RESTful Service
    Request path has one path segment, continuing processing
    No Tenant Principal established yet, continuing processing
    APEX_LISTENER pool exists, continuing processing
    No matching tenant found for: oauth2, cannot dispatch
    Chose oracle.dbtools.rt.oauth.TokenHandler as the final candidate with score: Score [handle=null, score=0, scope=SecurityConfig [constraint=secure, realm=OAUTH_CLIENT, logonConfig=NONE], originsAllowed=[], corsEnabled=true] for: POST oauth2&#x2F;token
    oauth2&#x2F;token authorized as: p6xycV-2QceFnFHkWyJlnA..
    </pre>
      </p>
      <p>
      <pre>WebException [statusCode=500]
      at oracle.dbtools.rt.web.WebException.webException(WebException.java:343)
      at oracle.dbtools.rt.web.WebException.internalError(WebException.java:262)
      at oracle.dbtools.rt.oauth.jdbc.JDBCOAuthDataAccess.createApproval(JDBCOAuthDataAccess.java:514)
      at oracle.dbtools.rt.oauth.jdbc.JDBCOAuthDataAccess.createApprovedRequest(JDBCOAuthDataAccess.java:181)
      at oracle.dbtools.rt.oauth.OAuthAuthorization.resourceOwnerCredentials(OAuthAuthorization.java:654)
      at oracle.dbtools.rt.oauth.OAuthAuthorization.tokenRequest(OAuthAuthorization.java:273)
      at oracle.dbtools.rt.oauth.TokenHandler.post(TokenHandler.java:44)
      at oracle.dbtools.rt.web.RequestHandler.response(RequestHandler.java:268)
      at oracle.dbtools.rt.web.RequestHandler.dispatch(RequestHandler.java:361)
      at oracle.dbtools.rt.web.RequestHandler.dispatch(RequestHandler.java:85)
      at oracle.dbtools.rt.web.RequestDispatchers.dispatch(RequestDispatchers.java:93)
      at oracle.dbtools.rt.web.ETags.checkPrecondition(ETags.java:93)
      at oracle.dbtools.rt.web.HttpEndpointBase.restfulServices(HttpEndpointBase.java:426)
      at oracle.dbtools.rt.web.HttpEndpointBase.service(HttpEndpointBase.java:164)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
      at com.sun.grizzly.http.servlet.ServletAdapter$FilterChainImpl.doFilter(ServletAdapter.java:1059)
      at com.sun.grizzly.http.servlet.ServletAdapter$FilterChainImpl.invokeFilterChain(ServletAdapter.java:999)
      at com.sun.grizzly.http.servlet.ServletAdapter.doService(ServletAdapter.java:434)
      at oracle.dbtools.standalone.SecureServletAdapter.doService(SecureServletAdapter.java:91)
      at com.sun.grizzly.http.servlet.ServletAdapter.service(ServletAdapter.java:379)
      at com.sun.grizzly.tcp.http11.GrizzlyAdapter.service(GrizzlyAdapter.java:179)
      at com.sun.grizzly.tcp.http11.GrizzlyAdapterChain.service(GrizzlyAdapterChain.java:196)
      at com.sun.grizzly.tcp.http11.GrizzlyAdapter.service(GrizzlyAdapter.java:179)
      at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:849)
      at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:746)
      at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1045)
      at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:228)
      at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
      at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
      at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
      at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
      at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
      at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
      at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
      at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
      at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
      at java.lang.Thread.run(Unknown Source)
    Caused by: java.sql.SQLIntegrityConstraintViolationException: ORA-02291: integrity constraint (APEX_040200.WWV_FLOW_RT$APPROVALS_SGID_FK) violated - parent key not found
      at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:447)
      at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:396)
      at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:879)
      at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:505)
      at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:223)
      at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:531)
      at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:208)
      at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:1046)
      at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1336)
      at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3612)
      at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3713)
      at oracle.jdbc.driver.OraclePreparedStatementWrapper.execute(OraclePreparedStatementWrapper.java:1378)
      at sun.reflect.GeneratedMethodAccessor28.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      at java.lang.reflect.Method.invoke(Unknown Source)
      at oracle.ucp.jdbc.proxy.StatementProxyFactory.invoke(StatementProxyFactory.java:230)
      at oracle.ucp.jdbc.proxy.PreparedStatementProxyFactory.invoke(PreparedStatementProxyFactory.java:124)
      at com.sun.proxy.$Proxy44.execute(Unknown Source)
      at oracle.dbtools.common.jdbc.JDBCInsert.execute(JDBCInsert.java:58)
      at oracle.dbtools.rt.oauth.jdbc.JDBCOAuthDataAccess.createApproval(JDBCOAuthDataAccess.java:487)
      ... 34 more
    </pre>
      </p>
      </div>
      </div>
      </div>
      <div id="xFooterContainer">
      </div>
    </body>
    </html>
    I am assuming this must be part of the problem I am seeing this the Weblogic deployment in my original post.
    Does anyone have any suggestions on how best to tackle this?
    Regards,
    Derek

  • GeoRaptor 3.2.1 Released for SQL Developer 3.x

    Spatialites!
    After 6 months of development and testing, GeoRaptor 3.2.1 has been released for SQL Developer 3.x (tested on 3.0, 3.1 and 3.2). This release no longer supports SQL Developer 1.x or 2.x releases due to internal changes to the SQL Developer APIs.
    GeoRaptor can be downloaded from the GeoRaptor project's sourceforge page: http://sourceforge.net/projects/georaptor and installed via Help>Check for Updates>Install from Local File. Installation via SQL Developer's update mechanism should be available soon.
    The release notes for this release are:
    * Fixed issues with validate geometry functionality in particular the update dialog box.
    * Revamped "About GeoRaptor" form. Includes clickable URLs, links to mailing lists, version number listing, thanks to testers etc.
    * Placed "About GeoRaptor" icon on GeoRaptor's map toolbar.
    * SQL Developer NLS settings accessed: improvements in the display and entry and numeric data.
      -- Tolerances in Spatial Layer properties will display with the NLS decimal separator eg 0,05.
         Some parts of GeoRaptor such as Validation that show and accept numbers have not been changed from when someone else modified the code.
         If you double click on the left MBR/right MBR icon in the map at the bottom, the current centre position will display according to the NLS settings.
         Editing the value to jump the map to that point works even with grouping separators and decimal separators being commas!
    * Spatial Layer Draw has been modified to use NLS based decimal formatting.
    * New geometry marking/labelling options have been added. In particular you can now label the vertices of a linestring/polygon with the following additional elements:
      -- Cumulative length
      -- Measure (M)
      -- Z value
      -- Labelling of vertices with <id>{X,Y} now also honours 3/4D geometries. If geometry has XYY then it will be labelled as {X,Y,Z} etc.
    * You can also label each vector/segment of a linestring/polygon with:
      -- Length
      -- Cumulative Length
      -- Bearing (approximate for geodetic/geographic data)
      -- Distance (approximate for geodetic/geographic data)
      -- Bearing and Distance (approximate for geodetic/geographic data)
    * The font properties of the mark text can be changed independently of the feature label. This includes the offset and label position (CC, LL, UR etc).
    * New feature labelling options have been provided:
      -- First/middle/last vertex,
      -- Any supplied sdo_point within a line/polygon's sdo_geometry object, or
      -- Calculated by GeoRaptor on the client side using Java Topology Suite.
    * Result sets now have the ability to:
      -- Copy to clipboard all geometries across many rows and columns.
      -- Display one or more (selected) geometries in a popup image window. This functionality is also available in the result set generated by an Identify command.
    * New GeoRaptor Preferences:
      -- Width and height in pixels of the new popup image window (displaying one or more geometry objects) can be set;
      -- Colours of orphan, missing and correct metadata entries for Metadata Manager;
      -- Prefixing with MDSYS for all currently supported spatial objects - sdo_geometry, sdo_point, sdo_elem_info, sdo_ordinates, sdo_dim_info - has been made an option.
      -- There is now a new property called "Show Number Grouping Separator" in Tools>GeoRaptor>Visualisation.
         If it is ticked a number will be formatted with the thousands separator in Tools>Database>NLS eg 10000.000 will display as 10,000.000.
    * Sdo_Geometry display of all spaces in text between elements of the sdo_geometry array have been removed.
       This was done mainly to compact the sdo_geometry strings so that they are as small as possible when displaying or copying to clipboard.
    * Help pages added to the following dialogs with more to follow:
      -- Metadata Manager,
      -- Shapefile Importer and
      -- Layer Properties dialogs.
    * GeoRaptor menu entries renamed. New "Manage All Metadata" entry added to View>GeoRaptor menu.
    * Spatial Index creation dialog now supports additional index parameters and parallel build settings.
    * Metadata Manager overhauled:
      a. Shows:
         1. Metadata entries which have no underlying oracle object (orphan)
         2. Metadata entries for existing underlying objects (existing case)
         3. Database objects with sdo_geometry for which no metadata entry exists (new)
      b. All orphan/existing/missing colours for (a) can be set via Preferences>GeoRaptor>Visualisation
      c. All actions for main (bottom) metadata table are in a single right mouse click menu.
         Some entries will only appear if a single row is selection (metadata copy), others (delete and copy to clipboard) will appear for one or more.
      d. Can now switch between open connections to modify metadata of other objects in schemas other than the starting object.
      e. Buttons revamped.
    * Tab/Shapefile export:
      a. Export now supports NULL valued columns. Can be exported as an empty string (if DBase override in GeoRaptor Preferences is ticked) or
         as a predefined value eg NULL date => 1900-01-01 (set in new GeoRatptor Import/Export Preferences).
      b. Some work attempted on export of NLS strings (still not corrected).
      c. Objects with no rows now correctly processed.
    * Shapefile Import
      -- Bug relating to Linux file names corrected.
    * Fixed issue (identified by John O'Toole) with spatial index underlying a view not being used in map display.
    * Reinstated sdo_nn as the principal method for Identify (requested by John O'Toole).
    * Fixed problem with handling single click zoom in and out in GeoRaptor map etc.
    * Fixed problem with rendering lines from database item (identified by Vladimir Pek).The new "About GeoRaptor" should be read by all people installing GeoRaptor.
    Please, please consider registering your email address with our private email list so that we can get a feel for the sorts of people downloading and installing GeoRaptor.
    Please consider helping us with documentation or the internationalisation via translating properties files from English to your native language.
    GeoRaptor is written and maintained by people who use SQL Developer and Spatial every day but we don't pretend we know everything that users want: please let us know via our feature request page at SourceForge.
    We don't get paid for what we do so are always looking for additional help.
    Here are some of the requests we have had for improvements:
    1. MySQL access
    2. WMS access;
    3. Ability to import shapefile data into an existing table;
    4. Ability to processing multiple shapefiles into separate tables (current version can import one or more into a single target table);
    5. Ability to export/import layer definitions to give to others;
    6. Support for non-English character sets for varchar exports to shapefiles.Some are relatively simply, some require a lot of engineering work. For the latter, we are considering alternative funding methods to the currently completely free development approach.
    Thanks to the following for their invaluable assistance:
    Holger Labe, Germany
    John O'Toole, Ireland
    Vladimir Pek, Czech Republic
    Pieter Minnaar, Holland
    Olaf Iseeger, Germany
    Sandro Costa, Brazil;
    Marco Giana, Australia.regards
    Simon Greener
    Principal GeoRaptor Developer
    Edited by: Simon Greener on Sep 10, 2012 2:43 PM

    Simon,
    I will admit, I almost never use SQL Developer. I have been a long time Toad user, but for this tool, I fumbled around a bit and got everything up and running quickly.
    That said, I tried the new GeoRaptor tool using this tutorial (which is I think is close enough to get the jist). http://sourceforge.net/apps/mediawiki/georaptor/index.php?title=A_Gentle_Introduction:_Create_Table,_Metadata_Registration,_Indexing_and_Mapping
    As I stumble around it, I'll try and leave some feedback, and probably ask some rather stupid questions.
    Thanks for the effort,
    Bryan

  • BUG in Oracle SQL Developer 3.0.04 on the "generating DLL" with comments?

    I'm newbie on oracle, but I think that I found out a bug in Oracle SQL Developer version 3.0.04 on the "generating DLL" tool using "comments".
    I will describe the steps that I gave:
    I created a view, but after I test it I had to change my “where” condition, so I comment the old code and then I wrote the new “where” condition below. After I done that I tried to look at the sql code of my view using “generating DLL” tool, but oracle sql developer only shown me half of the code, a lot of code were missing. Then I began with some test trying to understand what happen and I notice that if I put an invalid sql code in my comment the generating DLL start working with no problems, for example(pseudo-code):
    (COMMENT WITH VALID SQL CODE the "Generating SQL" don't work:)
    CREATE OR REPLACE VIEW <user>.<view_name> ( <column1>,<column2> )
    AS
    SELECT column1, column2
    FROM table1
    INNER JOIN
    (SELECT
    FROM table2
    INNER JOIN .....
    INNER JOIN ....
    --where time_stamp = (select max(time_stamp) from .....)
    WHERE time_stamp >= TRUNC(sysdate)
    ) t1 ON t1.ID = ....
    AND ..... >= TRUNC(sysdate)
    ORDER BY ....
    Generating DLL returns this(when the error occurs):
    CREATE OR REPLACE VIEW <user>.<view_name> ( <column1>,<column2> )
    AS
    (COMMENT WITH VALID SQL CODE the "Generating SQL" work with no problems:)
    CREATE OR REPLACE VIEW <user>.<view_name> ( <column1>,<column2> )
    AS
    SELECT column1, column2
    FROM table1
    INNER JOIN
    (SELECT
    FROM table2
    INNER JOIN .....
    INNER JOIN ....
    --where
    WHERE time_stamp >= TRUNC(sysdate)
    ) t1 ON t1.ID = ....
    AND ..... >= TRUNC(sysdate)
    ORDER BY ....
    I believe that "Generating DLL" tool have some problem with the comments, I also used /*...*/ to comment but the problem is still active.
    I notice as well that if I started to add some more comments along the code, the conditions migth change, so I think the problem is related with "comments" code.
    Would you mind telling me if this is a real bug or if I'm doing anything wrong.
    Thank you in advance,
    Rodrigo Campos
    Edited by: 894886 on 3/Nov/2011 5:29

    Hi Rodrigo,
    Thank you for reporting this. The only bug I see currently logged on a comment affecting the generated View DDL involves ending the last line of the definition with a comment, which treats the ending semi-colon (even if on a different line) as part of the comment. That is actually related to a low-priority bug against an Oracle database API.
    Unfortunately, your pseudo-code is a bit complex. Trying a few quick, simpler tests against the standard HR schema did not reproduce the issue. I tried INNER JOIN, and nested SELECTs. It would help greatly if you could provide a test case compilable against one of the standard schema, like HR or SCOTT.
    Regards,
    Gary
    SQL Developer Team

  • Why will a query work in SQL Developer but not in Apex?

    Here's a good one. I created a dynamic LOV with the following query.
    select
    e.DESCR d,
    ee.ENTRD_EVNT_SK r
    from
    PT_EVNT_IN_DIV eid,
    PT_ENTRD_EVNT ee,
    PT_EVNT e
    where ee.PGNT_SK = :PGNT_SK
    and ee.CNTSNT_SK = :CNTSNT_SK
    and ee.EVNT_IN_DIV_SK = eid.EVNT_IN_DIV_SK
    and eid.EVNT_SK = e.EVNT_SK
    and ee.ENTRD_EVNT_SK not in
    (select js.ENTRD_EVNT_SK
    from PT_JDG_SCR js
    where js.JDG_SK = :JDG_SK
    and js.PGNT_SK = :ai_pgnt_sk
    and js.CNTSNT_SK = :CNTSNT_SK)
    order by 1
    The query works fine in SQL Developer, but Apex gives the following error when compiling it in the LOV editor.
    "1 error has occurred
    - LOV query is invalid, a display and a return value are needed, the column names need to be different. If your query contains an in-line query, the first FROM clause in the SQL statement must not belong to the in-line query."
    I tried rearranging the entries in the From clause, but that didn't do any good.
    Do you see what I can do to make Apex accept it?
    Thanks,
    Kim

    Kim
    Kim2012 wrote:
    select
    e.DESCR d,
    ee.ENTRD_EVNT_SK r
    from
    PT_EVNT_IN_DIV eid,
    PT_ENTRD_EVNT ee,
    PT_EVNT e
    where ee.PGNT_SK = :PGNT_SK
    and ee.CNTSNT_SK = :CNTSNT_SK
    and ee.EVNT_IN_DIV_SK = eid.EVNT_IN_DIV_SK
    and eid.EVNT_SK = e.EVNT_SK
    and ee.ENTRD_EVNT_SK not in
    (select js.ENTRD_EVNT_SK
    from PT_JDG_SCR js
    where js.JDG_SK = :JDG_SK
    and js.PGNT_SK = :ai_pgnt_sk
    and js.CNTSNT_SK = :CNTSNT_SK)
    order by 1
    The column named ENTRD_EVNT_SK is used twice in a select. Once in the main select and once in the inline query.
    The validation maybe choking on that.
    Try giving the column in the inline query an alias and see if that helps.
    Nicolette

  • SQL Developer with Data Modeler, No Design Menu Option

    Using SQL Developer 3.0.04 Build MAIN-04.34 with Data Modeler. I have created a logical design and wish to forward engineer this to a relational model.
    I cannot seem to find the Design Menu option to use the >> Engineer to Relational Model option which is available under the Design Menu on the Stand Alone version of SQL Developer Data Modeler.
    Have checked the following locations:
    Tools -> Data Modeler
    View -> Data Modeler
    File -> Data Modeler
    Right Click on my Logical Design
    I have ensure that all my entities have the Engineer To property set to a valid Relational Model.
    Is this a bug or am I missing a menu option / configuration setting?
    Thanks in advance for any help
    John

    Hi John,
    you can find ">> Engineer to Relational Mode" button among other buttons for logical diagram.
    Philip

  • Can't save a connection on SQL Developer 1.5

    I just installed SQL Dev 1.5. The first time I run it all was fine. The second time it was giving me severe errors.
    The first one was 'failed to create naming Context for db connections at url: file:/C:/Documents and Settings/thatzi/Application Data/SQL Developer/system1.5.0.53.38/o.jdeveloper.db.connection.11.1.1.0.22.49.35/connections.xml'.
    The second one was 'DatabaseConnections has no JNDI context so cannot list connections.'
    After I deleted the 'C:/Documents and Settings/thatzi/Application Data/SQL Developer' directory I was able to run the app one more time, but had the same problem next time I run the app.
    There must be a way to fix this. Can anybody help?

    I can save new connections to my existing connections.xml file, and I can save to a new connections file. I just can't save existing connections.
    I looked at the xml for the old version, and compared to the new version, and they are quite different. I tried deleting the system1.5.1.54.40\o.jdeveloper.db.connection.11.1.1.0.22.49.35 directory, so it would ask me about migrating old settings again, and this time I selected the directory for the previous version, 1.5.0.53.38. The connections weren't migrated. Apparently I can't save the existing connections because the old connections.xml format is not valid. How can I migrate/convert my old connections file to work in the new version. For all I know, this could have been an existing problem from when I converted from 1.2. This is just the first time I've had an occasion to change connection info, so I might be using a connections.xml file from 1.2.
    Here is one of my connection xml configs that I am unable to update:
    <Reference className="oracle.jdeveloper.db.adapter.DatabaseProvider" name="DB1">
    <Factory className="oracle.jdeveloper.db.adapter.DatabaseProviderFactory"/>
    <RefAddresses>
    <StringRefAddr addrType="subtype">
    <Contents>oraJDBC</Contents>
    </StringRefAddr>
    <StringRefAddr addrType="user">
    <Contents>myuser_id</Contents>
    </StringRefAddr>
    <StringRefAddr addrType="password">
    <Contents>myPassword</Contents>
    </StringRefAddr>
    <StringRefAddr addrType="SavePassword">
    <Contents>true</Contents>
    </StringRefAddr>
    <StringRefAddr addrType="DeployPassword">
    <Contents>false</Contents>
    </StringRefAddr>
    <StringRefAddr addrType="driver">
    <Contents>oracle.jdbc.OracleDriver</Contents>
    </StringRefAddr>
    <StringRefAddr addrType="customUrl">
    <Contents>jdbc:oracle:thin:@ (DESCRIPTION= (ADDRESS_LIST= (ADDRESS= (PROTOCOL=TCP) (HOST=NNN.NNN.NNN.NNN) (PORT=NNNNN) ) ) (CONNECT_DATA= (SID=db1) ) )</Contents>
    </StringRefAddr>
    <StringRefAddr addrType="oraDriverType">
    <Contents>thin</Contents>
    </StringRefAddr>
    </RefAddresses>
    </Reference>

  • How to start listener in sql developer for remote debug

    how to start listener in sql developer for remote debug ? Since the new version 1.1.0.23 is different with the old version for remote debug, I don't know how to start the listener on the new version for remote debug.
    even follow the user guide below and not work . Experts on sql developer please help me with this.
    Remote Debugging
    To debug a procedure or function for a connection where the database is on a different host than the one on which you are
    running SQL Developer, you can perform remote debugging.
    Remote debugging involves many of the steps as for local debugging; however, do the
    following before you start the remote debugging: Use an Oracle client such as SQL*Plus to issue the debugger connection command. Whatever
    client you use, make sure that the session which issues the debugger connection commands is the same session which executes your PL/SQL
    program containing the breakpoints.
    For example, if the name of the remote system is remote1, use the following SQL*Plus command to open a
    TCP/IP connection to that system and the port for the JDWP session:
    EXEC DBMS_DEBUG_JDWP.CONNECT_TCP('remote1', '4000'); The first parameter
    is the IP address or host name of the remote system, and the second parameter is the port number on that remote system on which the debugger
    is listening.
    Right-click the connection for the remote database, select Remote Debug, and complete the information in the Debugger - Attach
    to JPDA dialog box. Then, follow the steps that you would for local debugging (for example, see Debugging a PL/SQL Procedure).
    Debugger - Attach to JPDA This dialog box is displayed when you right-click a database connection name and select Remote Debug.
    Use this
    dialog box if you are using the Sun Microsystem's Java Platform Debugger Architecture (JPDA) and you would like the debugger to listen so
    that a debuggee can attach to the debugger.
    For more information about remote debugging, see Remote Debugging.
    Host: Name or IP address of
    the remote host on which SQL Developer should listen for the database to connect.
    Port: Listening port number on the remote host. You can
    choose any valid port number that is not in use by another process.
    Timeout: The number of seconds that SQL Developer will wait for the
    remote database to make a debugging connection. Don't Show Dialog Box Before Connecting: If this option is checked, this dialog box will not
    be displayed before future connections for remote debugging

    You're not the only one:
    Not able to start remote debug listener
    Re: remote debug question at version 1.1.0.23 64

  • PL/SQL development with JDeveloper

    We are using Toad and JDeveloper to maintain our legacy IS that count thousands of PL/SQL code object (Packages, Package Bodies, Triggers).
    I'm using JDeveloper and SQL Developer in the perspective to verify if it is possible and effective to use only Oracle tools in the project.
    I like to work with JDeveloper to edit pl/sql code and i like to have my code in database offline object maintained into subversion.
    I'm able to compile these sources in my different platform (development system, test alpha, test beta and final testing instance directly from JDeveloper.
    That's fine except JDeveloper didn't return a compile status or a list of compile errrors like in SqlDeveloper. So I need to use SqlDeveloper in parallel of JDeveloper.
    This is the beginning of my problems.
    SqlDeveloper may have some editor open with source code into I updated into JDeveloper (depends on the change to do, some changes a done in SqlDeveloper to correct some errors and the code is refreshed from the instance into JDeveloper, and more important changes are done in JDeveloper and compiled (loaded) in the instance) and loaded (compiled) into my instance.
    When the packages tree is already displayed in SqlDeveloper, the status of the package (valid, invalid) didn't change immediately. That is normal because SqlDeveloper don't know i change it from JDeveloper. I think it check it when i click on the package or the body node. The problem is that the code is not reloaded into the editor if it is opened and i you recompile your package without refreshing all the packages list you will recompile the older version and search sometimes a long time why your package didn't compile after the changes you done in JDeveloper (mainly after 6pm and a day of developing and compiling ) !!!!
    The only reason to use both JDeveloper and SqlDeveloper in this phase is the fact that JDeveloper didn't return compile status and a compile error list.
    With theses features I will no more use SqlDeveloper for such developing purposes (still using it to debug, obtain object definition, customize database object for some physical properties, etc) and avoid those bad manipulations.

    micwic --
    I logged bug6508875 for this.
    One suggestion in the meantime until we can get compile errors directed to the log window for offline objects...
    You can open the Database Navigator to point to the same db connection. After generating the offline PL/SQL to the db, refresh the connection in the DB navigator. You will see any invalid objects flagged with an error icon. Then you can right-click on the PL/SQL with the error, and "Make" it. This will display the errors in the log window, similar to SQL Developer.
    -- Brian

  • SQL Developer export forgot to check to include semicolons in DDL

    Hi,
    I used the SQL Developers Export-function (select tables and right click on them, then select export) to backup tables.
    However, I forgot to set the 'Abschlusszeichen' (sorry for the german). That apparently means my create table statements are not finished by an ';', and they sinmply don't execute using the @script.sql method, or the sql developers import-function.
    One sql-file is 2 GB in size, so I currently have no idea how to edit it and add the semicolons manually. Is there any hope to rescue the data?
    I'm running sql developer 3.2.20.09, oracle Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production as well as Windows 8.1
    For clarification, this is how the create table part looks:
    --  Datei erstellt -Montag-September-30-2013  
    --  DDL for Table ZZ_BEN_0
      CREATE TABLE "PIERUSCHM"."ZZ_BEN_0"
       (    "BENUTZER_ID" NVARCHAR2(30),
        "NAME" NVARCHAR2(30),
        "GUELT_VON" NVARCHAR2(30),
        "GUELT_BIS" NVARCHAR2(30),
        "IST_KORREKTUR" NVARCHAR2(30),
        "IST_HALBTAGSKRAFT" NVARCHAR2(30),
        "LADE_DAT" DATE
    --  DDL for Table ZZ_BEN_1
      CREATE TABLE "PIERUSCHM"."ZZ_BEN_1"
       (    "BENUTZER_ID" NVARCHAR2(30),
        "NAME" NVARCHAR2(30),
        "GUELT_VON" NVARCHAR2(30),
        "GUELT_BIS" NVARCHAR2(30),
        "IST_KORREKTUR" NVARCHAR2(30),
        "IST_HALBTAGSKRAFT" NVARCHAR2(30),
        "LADE_DAT" DATE
    --  DDL for Table ZZ_BEN_10

    Also i'd like to add that the file begins with table definitions but then contains the actual (and randomly generated) data as well.
    You still need to have the file regenerated or you should expect to have problems with ANY method you use to try to automatically 'fix' the problem.
    1. No experienced developer that I have worked with would EVER try to execute such a monolithic script because there is virtually NO chance that a 2 GB script will EVER run successfully without an error of some sort. Objects have to be created in the proper order when dependencies exist between them. For example, you can't create an index if the table hasn't been created yet. There can even be circular references that will prevent all objects from being VALID even if they are created.
    2. There is virtually NO chance that ANY method you use will put terminators in EXACTLY the right place without causing a problem of some sort.
    3. When there is an error the script may continue to try to executed and that usually causes further errors. It also creates garbage objects that are not valid but will keep the script from working correctly the next time since the objects will already exist.
    You need to create a SET of scripts that are of manageable size so that you can control the process of executing them in the proper order.
    If you don't take the time to do that, up front, you are going to wasted a tremendous amount of time when the script fails trying to cut and paste the pieces you need out of that 'master' script.
    There are NO SHORTCUTS: take the time to do it right the first time.

Maybe you are looking for

  • Deskjet 3050 J610

    Hello, I moved recently and have a new router along with a new computer, but can't seem to find my software disc to install the printer to the new network or computer. Is there any way to get a new disc or download the software from the internet?

  • Adobe Acrobat Reader X Crashes

    I initially posted this in the wrong forum (I derped and posted this in Forms. ^^;) So I'm posting this here again... Hi there, I'm having an issue with Adobe Acrobat Reader X. It seems to crash all the time whenever I try to open a .pdf online. They

  • Error message, all lights blinking on F380

    My printer has been checked over and over. Message comes up as error..all lights blink. The cartridge will not center. I have removed and reinstalled.  The paper is not jammed, the cartridges read full., but all lights keep blinking.indicating paper

  • Need to post my songs (song/list) on website for customers. I'm a DJ

    Hi! I was browsing the net the other day and I came across this site: http://www.occasionsdjs.com/schoolsongs.html I have a mobile DJ company and would like to add my playlist to my website similar to something like this... anyone have an idea of how

  • Please help with export issue with HD.

    I have a current project set at 1920x1080 HDTV 1080i (16x9) and my customer has decided to change his mind and not go HD 16x9 which I had shot in specifically for this reason. What settings could I use to export for 720x480 DVD 4:3? Please help. Than