OT(ish): crossing over to T-SQL development

apologies for the off-topic, I've been into oracle development for a few years but am now looking at picking up some Sql server (development) skills.
I'd assume there's a few people on here who work with both, or have done through their careers.
So I was just wondering if anyone here has done this before, ie. spent years in Oracle then crossed over/picked up Sql Server. If so, have you got any...
- books/websites you'd recommend
- success / horror stories
- advice on common pitfalls / things to watch out for / things I should find familiar?
- etc?
thanks in advance.
Edited by: smon on Feb 18, 2010 1:24 AM

smon wrote:
... am now looking at picking up some Sql server (development) skills.
- books/websites you'd recommend
Quite a few Microsoft MVPs have written books on SQL Server programming, T-SQL etc.
- Kathi Kellenberger's book "Beginning T-SQL 2008" starts with installation of SQL Server Express and the basics of T-SQL. It's for guys who have absolutely no idea of where to start.
- The Microsoft MSDN Library is very good, and should be an invaluable resource.
- The 3 books by Itzik Ben-Gan are good too, for his lucid writing style and good depth of topics.
- For the advanced, there is "SQL Server MVP Deep Dives" - an anthology of SQL Server topics written by 53 MVPs.
The last chapter of Kathi's book is titled "Where to go next" and it lists down the websites, the forums, blogs etc. that provide a wealth of information on T-SQL and Sql Server. Or you may google "sql server websites".
HTH,
isotope
Thought I should've mentioned Itzik's books:
(1) Microsoft SQL Server 2008 T-SQL Fundamentals (PRO-Developer)
(2) Inside Microsoft SQL Server 2008: T-SQL Querying
(3) Inside Microsoft SQL Server 2008: T-SQL Programming
You probably know the URL to MSDN, but anyway -
http://msdn.microsoft.com/en-us/sqlserver/default.aspx
Edited by: isotope on Feb 18, 2010 6:07 AM

Similar Messages

  • Logon trigger setting nls_date_format over ridden by sql developer?

    Problem: Developers are inserting a Date record into a varchar field. I can't change this process right now. Non-Date info is stored here also. Would require a code change.
    To simplify this, I wanted to get all the developers to insert using the same 'nls_date_format'. I had hoped to be able to centralize this by having Oracle set it in the database. I tried this by setting the database nls_date_format and with a logon trigger.
    See test below. Seems to be over ridden.
    Test case is with SQL Developer. Noticed the same thing when developers use Websphere. I think we reduce the chance for errors, if I can handle this in the database. However, my nls_date_format settings are getting over ridden.
    1. s et database parameter nls_date_format to YYYY-MM-DD HH24:MI:SS , this gets over riden by SQL Developer/Websphere
    2. Created a trigger with an 'alter session', but this seems to get over ridden also.
    Please see test case below:
    Oracle 11.2.0.3
    test logging: SQLPLUS locally on the unix server, then log in using SQL Developer which is installed on my laptop.
    SQL Developer NLS_DATE_FORMAT : YYYY-MON-DD HH24:MI:SS , This is different for test purposes
    I have auditing turned turned on to db,extended with 'audit all by 'user' by access;' for test purposes to get more info.
    create table test (username varchar2(30),sid number,mytest varchar2(300),insert_date date);
    create or replace
    TRIGGER LOGINTRG
    AFTER LOGON ON DATABASE
    BEGIN
    insert into test select user,   sys_context('USERENV','SID') ,value,sysdate from v$parameter where name = 'nls_date_format';
    EXECUTE IMMEDIATE 'ALTER SESSION SET NLS_DATE_FORMAT=''YYYY-MM-DD HH24:MI:SS''';
    insert into test select user,   sys_context('USERENV','SID') ,value,sysdate from v$parameter where name = 'nls_date_format';
    commit;
    END LOGINTRG;
    /Results/Questions
    1. When I select from 'test', I confirm that my NLS_DATE_FORMAT is the same both before and after the alter session.
    2. select value from v$parameter where name = 'nls_date_format'
    output: YYYY-MON-DD HH24:MI:SS (so sql developer is over riding this);
    3. select * from dba_audit_trail where username = 'MYUSER' order by timestamp desc;
    The SQLs from the logon trigger are not captured. how do I capture logon trigger sqls? Not a huge deal, just curious
    4. I do not see any alter sessions issued by my user. shouldn't audit all by access capture that? how could my session nls_date_format change without an alter session?
    Edited by: Guess2 on Apr 22, 2013 10:44 AM

    >
    Problem: Developers are inserting a Date record into a varchar field.
    >
    No - they aren't. That is physically impossible. The only thing that can be stored in a 'varchar field' is a string. Oracle considers ANYTHING stored in a character column to be a string.
    Date values are stored in DATE columns. Perhaps you meant that developers are converting DATE values to strings and then storing the string in a 'varchar field'?
    >
    I can't change this process right now. Non-Date info is stored here also.
    >
    WONDERFUL! Why use a column to stored just one type of data? That is extremely wasteful. Hopefully you store strings that represent numbers in that same column also? It makes the data model so much easier to understand if developers only need to learn one datatype.
    >
    Would require a code change.
    >
    The horror!
    You should never, ever, EVER use a code change to fix a problem if there is even the slightest possibility that you can change the ENTIRE DATABASE instead.
    I've got good news though. You are now on version Oracle 11.2.0.3 and Oracle, after months of protests by some of their largest clients, has finally dropped the exhorbitant license fees for using some of the more esoteric datatypes like DATE and NUMBER.
    You should suggest to your manager that they use some of the license fee money saved to hire developers that already know how to design proper data models and use those new-fangled datatypes.
    Trust me - once you've made it up that steep learning curve your code will have fewer of those pesky 'dirty data' issues to deal with.
    Sure - it means less job security for your current developers. But sometimes you just have to 'take one for the team'!

  • Installing sql developer for a noob

    i am running windows 7 64 bit....i am very new to oracle and i am trying to install sql developer but it keeps asking for a java path ....when i navigate to the java folder there are no options to proceed.... please advise thanks

    You're better off asking over in the SQL Developer forum
    SQL Developer
    Evita

  • Function will not run (and shows with red cross in SQL Developer)

    I have created the function below by typing into the "Enter SQL Statement" box in the SQL Developer tool and running. I see the message "create or REPLACE FUNCTION Statement Processed". I see the Function in the tree view, but it has a red cross icon next to it, so I guess somethings wrong with it. When I try to run it I get the message "The selected program is in an invalid state for running. Recompile the program and try again." If I right-click the function and compile then I get no errors but the red cross remains and I still can't run it.
    What am I doing wrong?
    Also, I am planning on supplying a SQL script to customers that will have this function at the top of the script, and then I will use the function throughout the rest of the script to decide whether or not to drop a table before re-creating it. Will that be ok? i.e. will the function be available to the rest of the script, or would the function creation need to be followed by a commit/grant/other?
    CREATE OR REPLACE FUNCTION CHECK_TABLE_EXISTS(tableName VARCHAR2)
    RETURN BOOLEAN IS
        tableExists NUMBER(1,0);
    BEGIN
          SELECT COUNT(*) INTO tableExists FROM user_tables WHERE table_name=tableName;
          IF tableExists = 1 THEN
            RETURN TRUE;
          ELSE
            RETURN FALSE;
          END IF;
    END CHECK_TABLE_EXISTS;Thanks,
    Paul

    Hello Try the same at sqlplus and see how it goes. It should not throw any error messages as I tried the same as a normal user Scott with only (connect, resource) priveleges. You dont have to grant any specific previleges for user_tables.
    -Sri
    SRI>conn scott/tiger@sri
    Connected.
    SRI>CREATE OR REPLACE FUNCTION CHECK_TABLE_EXISTS(tableName VARCHAR2)
      2  RETURN BOOLEAN IS
      3      tableExists NUMBER(1,0);
      4  BEGIN
      5        SELECT COUNT(*) INTO tableExists FROM user_tables WHERE table_name=tableName;
      6        IF tableExists = 1 THEN
      7          RETURN TRUE;
      8        ELSE
      9          RETURN FALSE;
    10        END IF;
    11  END CHECK_TABLE_EXISTS;
    12  /
    Function created.
    SRI>set serverout on
    SRI>begin
      2  if check_table_exists('EMP') = TRUE
      3  THEN
      4  dbms_output.put_line('Found');
      5  else
      6  dbms_output.put_line('Not Found');
      7  end if;
      8  end;
      9  /
    Found
    PL/SQL procedure successfully completed.

  • Lightroom 6 Develop module:  no picture but instead a blue screen with a cross over it.[was: Something wrong with a program]

    dear Sir,
    I have just bought Lightroom 6 and downloading went as axpected. Although the most of the modes worked well the developing mode did not show the picture but instead a blue screen with a cross over it. I have downloaded the program twice and it is still the same error. I thing their is a error in the program you are selling.
    Below you will find a copy of the e-mail sent to me received following my buying th program
    ID: <Removed by Moderator>
    Beställningsnummer: #<<Removed by Moderator>
    >Beställda produkter:
    Adobe Photoshop Lightroom 6 (Mac/Win,Engelska)
                               <serial number removed>
    PLEASE HELP ME!!!! OTHERWISE I HAVE TO RETURN THE PROGRAM!!!!
    GLENN

    Hi Glenn,
    Try to unchecked GPU Acceleration under Preferences>Performance tab.
    Adobe Photoshop Lightroom Help | Lightroom GPU FAQ
    Regards,
    Sumit Singh

  • AUTOTRACE stats different in SQL Developer vs SQL Plus

    Using SQL Developer 3.2.20.09, database is 11.2 on Linux. I'd like to know why I get different stats when using AUTOTRACE in SQL Developer vs SQL Plus. If I do the following in SQL Developer and in SQL Plus I get a very different set of stats:
    set autotrace on
    select * from emp;
    set autotrace off
    I run this with "run worksheet" in SQL Developer and I see this set of stats:
    Statistics
    4 user calls
    0 physical read total multi block requests
    0 physical read total bytes
    0 cell physical IO interconnect bytes
    0 commit cleanout failures: block lost
    0 IMU commits
    0 IMU Flushes
    0 IMU contention
    0 IMU bind flushes
    0 IMU mbu flush
    I do the same in SQL Plus and I see these stats:
    Statistics
    0 recursive calls
    0 db block gets
    7 consistent gets
    0 physical reads
    0 redo size
    1722 bytes sent via SQL*Net to client
    519 bytes received via SQL*Net from client
    2 SQL*Net roundtrips to/from client
    0 sorts (memory)
    0 sorts (disk)
    14 rows processed
    A very different set of stats. The stats in shown in SQL Plus seem to be much more useful to performance optimization over the one shown in SQL Developer. Why the different set of stats for each? Thanks.

    Cross-referencing to another recent thread on this topic:
    Re: set autotrace on statistics in sqldeveloper (oracle 11g) is wrong

  • Top 10 Obstacles to Sql Developer Becoming a World-class Tool

    I've been working with Sql Developer day and night for the last 6 months.
    On a positive note, the SqlDeveloper team has been the most responsive Oracle product team I've worked with in the 19 years I've been working with Oracle tools. They pay attention to their customers. It's noticed and much appreciated!
    I thought I would share the biggest problems that I face with the tool on a daily basis, the kind of problems that make me want to work with a different tool each and every day.
    My intent isn't to gripe, it's to focus attention on the biggest productivity drains I face using the tool. Others may have a different list, based on their needs. Without further ado, here is my top 10 problems list:
    1) Quality Control.
    I cannot count on critical portions of the tool working correctly. This includes an oracle database development tool that is incapable of extracting oracle ddl correctly and which is incapable of correctly displaying information about SQL Server data and database objects. It also includes destroying connection files and losing keyboard settings. When the product was installed, it was incapable of properly displaying code in a worksheet when I scrolled thru the code. The details are listed in other postings of mine.
    2) Quality Control.
    See #1.
    3) Quality Control.
    See #1.
    4) Very badly done threading.
    The tool locks up on a constant basis when it does a many tasks. Rather than let me work on some other task, I have to wait for it to complete. My current work-around is to have two or three sql developer windows open. That sucks life out of my RAM supply, but at least I can get some work done. And, of course, it will often completely lock up and never return, which means I lose all unsaved worksheets. This forum is full of postings about these issues.
    5) Memory Leaks / Internal memory corruption.
    If I've had the tool open for a few days, or really worked it hard for a day, I will get bizarre compilation errors that make no sense. If I exit the tool, re-enter the tool, and compile the exact same code all will be well.
    6) Awkward and slow data entry interface for frequently performed tasks.
    Example: I create a new table and want to start defining columns for it. I remove my hands from the keyboard to press the + button, then I have to set focus on the column name field (it should do that for me!). Now that my hands are back on the keyboard, I have to backspace the dummy "column name" value in the column name field (it should ditch that dummy value for me). Only after all that can I actually enter a column name. When I want to add a new column, it's back to the mouse again, for the same drill. The down arrow key should take me to a new column record, as should pressing return at the end of the last field in the column row.
    7) Destroys code
    Changing a column datatype from varchar2 to nvarchar2 destroys the length of the column. Changing a field on a view destroys the instead of triggers. This is bad. There is no warning that this this is about to happen, which would at least give us a chance to avoid the problem. Better still, of course, would be not destroying that data.
    8) Inaccurate checking for record locking.
    When I try to edit records in a data grid for a table, I often get an error message telling me the data was modified in another session. It is simply not true. A hand-written update statement in a sql worksheet will work just fine. I've seen posts in the forum discussing this issue. An Oracle database development tool unable to reliably update oracle data tables is embarrassing. See Obstacle #1.
    9) Unicode support
    Sql Developer is heads above all the other tools I've tried out on this topic.
    However, the configuration of the tool to provide unicode support needs to be simplified.
    The tool needs to recognize the encoding of the files that are being opened up. On Windows Vista, Notepad seems to infallibly pick the right encoding for the file when I open it. Sql Developer should do the same. Files have specific encodings, the tool should have a default encoding (that I can override). Right now, the tool has a specific encoding and expects all files to match it. Extracting ddl to a worksheet does not respect the encoding choices of the tool, either. It only works with a limited set of tool encoding choices.
    10) Resources
    Does the sql developer team have the resources they need to compete with vendors like Microsoft? One really big reason for picking sqlserver over oracle is the ease of use of the Microsoft front-end tools. It's not until later that they may realize that Oracle has more capability, but that's still a lost sale.

    We are acutely aware of quality and with each release work at improving this. Providing a polished, professional and ultimately user friendly and useful tool is our constant goal.
    The broader our customer base grows, the more demands we have. This is a good and exciting position to be in, although it might mean that we need to slow down on our release cycles.
    Release 2.0 should address more of the threading and memory leaks displayed as the team have rewritten some of the sections. As for resources, it's true we're a small team and we get on with the work that we do.It might be a little slower than some would like, but I'm not convinced that having large team is necessarily always the answer.
    As ever, some of the points mentioned could be added to the Exchange. We'll be reviewing and updating the Exchange again in the New Year.
    I think there is another point to add to your list. A lot of what the tool is and will become is from a positive customer interaction we have had to date. While we continue to grow this, I think the product will grow and improve. The forum and all the positive interactions that happen here are key to taking the product forward.
    Regards
    Sue

  • Copying from Oracle SQL Developer to Microsoft Word doesn't retain formatting (Font,colors etc)

    Copying from Oracle SQL Developer Worksheet doesn't retain formatting (font,color etc...)in Microsoft Word but copying from other programs such as
    visual studio, chrome browser etc works fine. This doesn't work even after changed the setting to Keep Source formatting of Options-> Copy and Paste Settings

    Hi,
    I notice that you have cross posted in Answers forum and Oracle forum. Have you tried Mr. Peter's suggestion?
    Then, I recommend we check the Word settings:
    1. Go to: Options > Advanced > Cut, Copy and Paste
    2.  Make sure that Use smart cut and paste is ticked. 
    3. Click the Settings button next to this option
    4. Make sure that Smart Style
    Behavior is checked.
    If the issue still exists, please upload a sample through One Drive, I want to test.
    Regards,
    George Zhao
    TechNet Community Support

  • 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

  • SQL Developer on Linux hangs when disconnecting after VPN reconnect

    Hello,
    I have a problem with using connections after general link failure (Cisco VPN disconnect in my case, lost of route to Oracle DB).
    When I reconnect to a VPN and I'll try to disconnect from a previously opened (before general link failure) connection, I need
    to wait more than 10 minutes to complete this process. SQL Developer is completely unusable during this time.
    Steps to reproduce:
    1. Connect to VPN
    2. Open connection in SQL Developer to host accessible only by this VPN
    3. Restart VPN
    4. Try to do anything with this connection (disconnect, execute sql in opened SQL Worksheet, view tables, etc.)
    This bug is not new in recent versions, I'm using SQL Developer from over 2 years and this bug was always with me. But if I remember correctly in earlier versions (<3.0) I couldn't reuse the connection to execute sql (hanging SQL Developer for more than 10 minutes) but disconnecting would succeed without a problem.
    Maybe SQL Developer should move connection management to separate thread to resolve this issue... or is there another solution?
    I'm using SQL Developer 3.1.07.42 @ Linux 3.0.4
    For VPN connectivity I use vpnc
    When I restart VPN connection I'm loosing TUN interface and all routes.
    I have tested this issue on a few versions of SQL Developer on Windows XP, including 3.1.07. There is no problem with disconnecting after vpn failure on Windows.
    Maybe I should fill some bug report? When I can do such thing? Metalink?
    Best regards,
    Irek Slonina

    Hi Irek,
    Possibly you can resolve this issue by altering the type of the connection that becomes non-responsive upon a VPN reconnect. What type are you currently using: Basic, TNS, etc?
    In this forum thread (for Windows, unfortunately, not Linux), although different from your case, the solution used Thick/OCI driver, not Thin/Basic:
    Windows 7 VPN
    I have no VPN client on Linux (much less vpnc), only Cisco AnyConnect on Win XP, so I cannot test your scenario.
    Regards,
    Gary
    SQL Developer Team

  • Foreign key Mapping based on Data - in SQL Developer Data modeler

    Team
    Do SQL Developer Data modeler supports Foreign Key mapping based on the Data in the Schema rather defined at the DDL ? For e.g if we implement a Objects Relation ship mapping in Data base, we don't define Foreign keys at table creation.
    Toad does this feature through "AUTOMATIC FOREIGN KEYS MAPPING IN TOAD DATA MODELER" more info at (http://toadworld.com/Blogs/tabid/67/EntryId/905/Automatic-Foreign-Keys-Mapping-in-Toad-Data-Modeler.aspx)
    any one know how to implement through some scripts also helps me
    Regards
    Raj

    If you have table PKs defined and the candidate columns match those PK columns, then you can use the Discover Foreign Keys utility. Right mouse over the relational model name (node) in the left browser. It is about half way down the menu. I did a blog post about it last week on kentgraziano.com.

  • SQL Developer Slow typing - v2.1.0.63 on Windows 7 (32bit)

    Ever since changing to a laptop with Windows 7 (32 bit), and to SQL Developer 2.1, ---- FROM Windows XP and SQL Dev 1.5.1 which worked very well --- I have had a drastic change in response time typing into the editor area.
    My only symptoms were waiting for my typing to show up on the screen. It tried to fill in keywords slowly. I was used to it showing me table names and column names to use in the old version -- didn't happen in new version -- but at least I could run my scripts. Also I didn't like the new way of keeping the old Query Result tabs open ... I was surprised about that. Now I have to specifically close each one.
    So then I tried to 'fix' the slowness by changing my settings a bit. I have no idea what half that stuff is refering to in the Tools > Preferences area. I must have really messed it up. :( Now I can't hardly see anything - parts are missing ... I have to Wait and wait and wait for it to respond to a mere click....
    The page doesn't fill properly, I have to 'hover' over some parts to get them to show, I have to click on other parts to get the full script to show, ---- I did finally run 1 script. The drop down lists from the top stay there - i.e. can't get the focus to change -- the lists stay down (in a ghostly way - half there) even though I'm trying to get into another list. (Hope that makes sense... like Tools, Help, View).
    The only things I do in SQL Developer are: SQL scripts. That's it. I open files and run them. I open various connections. I type in SQL commands and run them. I'm not asking for all these bells and whistles that seem to really slow it down. I want to find my DB objects occasionally using a wildcard.
    This is awful! What happened to SQL Developer?? I used to love it!
    Somebody please help me get it back!
    Thank you.

    First of all, did you install in a new, clean directory? Else you'll have a corrupted installation.
    Second, better start over with clean settings; deleting the [Windows user profile]\Application Data\SQL Developer\systemXXX dir will restore settings to default.
    Third, you could skip the above and start over with the latest v3.0...
    Hope that helps,
    K.

  • Oracle sql developer and access db

    Hi All,
    I have connection to oracle and Access dbs’ on my oracle sql developer.
    When i try to create a database link from oracle db to access db i have to add Host Name.
    Connection details to access looks like this :
    @jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=C:\ list.mdb;DriverID=22;READONLY=false}
    I tried different variants, but it doesn’t work.
    Is this possible to create database link to access db, and if yes, what i have to add for a host name and what is the syntaxes for cross table ?
    Thank you

    Good documentation here... http://www.orafaq.com/node/60
    TimS

  • How to set default path for file open in SQL Developer

    Hi,
    I am new to Oracle SQL Developer. Everytime when I open a file, it will default to the install directory. It is hurtingmy hand because I have to click back to the folder where I put my sql statements.
    Is there any way to set the Home or Work button to point to the location I like? or add anther button to point to my folder? I just don't want to click 5 to 10 times to open a file.

    There are a few things. One is that you can set a working directory for any files you run in the SQL Worksheet i.e. @myfile.sql will pick up this directory.
    You can also set a preference for exporting files.
    Also if you use File -> Open, it should remember where you were the last time, so you hunt the first time, then it remembers for the next time. There is a bug for ctrl-O that always goes back to the original directory, but that has been fixed for the next patch release, so ctrl -O will also remember where you were last.
    The differences here are because we are dependent on the IDE from JDeveloper, and so we don't have full control over the Save and Open dialogs. We are aware of this frustration and are planning to change this for a future release.
    Regards
    Sue

Maybe you are looking for