Nieuwe versie SQL Developer
Juni 2008 - Voor database ontwikkeling is het al een tijd gebruikelijk om met een grafische tool te werken. Uiteraard zijn er altijd nog ontwikkelaars die liever met SQL*Plus werken, maar die zijn ondertussen in de minderheid. Sinds 2006 heeft Oracle een grafische tool voor database ontwikkeling, toen nog Raptor geheten en ondertussen bekend onder de naam SQL Developer. Oracle biedt hiermee een alternatief voor bekende tools als TOAD en PL/SQL Developer. SQL Developer heeft sterke punten: het draait op Windows, Linux en Mac OSX en kan bovendien - naast Oracle - ook nog connecties maken met SQL Server, MS Access, MySQL en Sybase. En, niet te vergeten, het is nog gratis ook!
In dit Whitebook kijken we naar de nieuwe features van SQL Developer 1.5 en of deze versie wellicht een alternatief is voor de gevestigde tools. Daarnaast bespreken we nog kort de koppeling met Application Express.
Nieuwe features
Na het opstarten van SQL Developer 1.5 valt direct het nieuwe uiterlijk van de applicatie op. Oracle heeft deze versie een "fusion look" gegeven, vergelijkbaar met JDeveloper 11g.
Figuur 1, de nieuwe "fusion look"
Naast deze wijziging aan de oppervlakte is er nog veel meer veranderd. We bespreken de belangrijkste wijzigingen van deze versie.
Connectie mogelijkheden
SQL Developer biedt nu ook de mogelijkheid om verbinding te maken met een LDAP server en de mogelijkheid voor OS authenticatie. Uiteraard blijft het mogelijk verbinding te maken via TNS en JDBC (Basic en Advanced). Dit laatste heeft als grote voordeel dat er geen Oracle client nodig is om een connectie met een Oracle database te maken. Nieuw is dat connecties te groeperen zijn in folders, dat is erg handig als je veel connecties hebt.
SQL formattering
De vorige versie bevatte ook al een formattering optie voor SQL en PL/SQL, maar dit was door de gebruiker niet aan te passen. Versie 1.5 maakt het wel mogelijk deze formattering in te stellen naar eigen inzicht. Zo zijn er instellingen voor uitlijnen, inspringen, regeleindes en witruimtes.
De instelmogelijkheden zijn behoorlijk uitgebreid, al is het wel even puzzelen voordat je de juiste instellingen hebt. Nadeel is wel dat deze instellingen niet te exporteren of te delen zijn. Maar al met al is de nieuwe formattering een flinke verbetering ten opzichte van de vorige versie.
Code templates
Code templates kunnen worden gebruikt om sneller code te schrijven door veel gebruikte code in templates op te slaan. Deze template kan vervolgens worden toegevoegd aan de code door het typen van de template naam gevolg door een toetscombinatie (Ctrl+Shift+T). Helaas is het bij het aanmaken van templates niet mogelijk een omschrijving op te geven, waardoor je bij veel templates al snel het overzicht verliest. De code templates worden opgeslagen in een XML file, die vervolgens eenvoudig te delen is.
Refactoring
Refactoring is het achteraf aanpassen van code zonder het gedrag te veranderen, maar wel de leesbaarheid te vergroten. Het refactoring menu is beschikbaar in het context menu bij het aanpassen van SQL of PL/SQL code. Er zijn 3 commando's in dit menu beschikbaar:
- To upper/lower/initcap: Dit wijzigt de geselecteerde tekst naar uppercase, lowercase of initcap (eerste letter een hoofdletter). Dit kan ook via de toetsencombinatie Ctrl+quote.
- Extract procedure: Een erg mooie feature. Dit biedt de mogelijkheid om geselecteerde PL/SQL code uit de huidige code te vervangen door een procedure (lokaal of als stored procedure). De geselecteerde code wordt in een nieuwe procedure geplaatst en vervangen door een aanroep naar deze procedure. De lokale variabelen in deze code worden als parameter gebruikt in de nieuwe procedure.
- Rename local variable: Ook dit is een zeer handige feature, het biedt de mogelijkheid een lokale variabele of parameter die gebruikt wordt in PL/SQL code achteraf te hernoemen. Alleen in de code waar de variabele is gedeclareerd wordt de variabele hernoemd.
Importeren van Excel en CSV
Als database ontwikkelaar wordt je liever niet geconfronteerd met Excel sheets of CSV bestanden als je dit vervolgens moet gaan koppelen met data uit de database. SQL Developer 1.5 heeft een feature die dit proces aanzienlijk kan vereenvoudigen. De Excel/CSV import kan data importeren aan de hand van een Excel sheet of een CSV bestand. Indien een veldnamenrij aanwezig is, kan deze gebruikt worden als kolomnaam. Vervolgens kan worden geselecteerd welke kolommen uit het bestand moeten worden geïmporteerd, indien nodig kan de tabel ook worden aangemaakt. Bij het importeren van een Excel bestand kan gekozen worden welke sheet geïmporteerd dient te worden.
Figuur 3, importeren van Excel/csv
Deze import functionaliteit is niet terug te vinden in het menu, maar zit enigszins verstopt, namelijk bij het rechtsklikken op de "Tables" node in de navigator en bij het rechtsklikken op een tabel.
Versiebeheer
Versiebeheer m.b.v. CVS of Subversion is vanaf versie 1.5 mogelijk. Dit is in feite dezelfde versiebeheer implementatie als in JDeveloper. Via het nieuwe versioning menu kan een connectie worden gemaakt naar een CVS of Subversion repository. Vervolgens kunnen alle gebruikelijke versiebeheer operaties via dit menu gestart worden, dit kan overigens ook via de Versioning navigator.
Ook nieuw in deze SQL Developer is de extra tab Files, waar in een boomstructuur bestanden worden getoond. Hiermee kunnen eenvoudig bestanden worden geopend door te dubbelklikken of de bestanden naar de worksheet te slepen. Bestanden die onder versiebeheer staan kunnen via deze tab ook beheerd worden. Het versiebeheer is volledig gebaseerd op bestanden, er is dus geen koppeling met een database.
SQL Developer & Application Express
Een feature van SQL Developer die nog niet heel bekend is, is de mogelijkheid om Application Express (Apex) applicaties te bekijken. Dit kan sinds versie 1.2 van SQL Developer en vereist minimaal versie 3.01 van Apex. Op deze wijze kun je met SQL Developer snel een overzicht krijgen van de elementen en detailgegevens van een Apex applicatie.
Figuur 4, SQL Developer & Application Express
SQL Developer kan daarnaast Apex applicaties importeren en applicaties deployen naar een andere omgeving. Hierdoor gaat het deployen een stuk gemakkelijker! Zou je dit via Application Express doen, dan betekent dit eerst een export maken van de applicatie, vervolgens op de deployment omgeving inloggen en weer via Apex de applicatie importeren. Via SQL Developer gaat dit eenvoudigweg via een wizard. Een connectie naar de bron omgeving en een connectie naar de deployment omgeving zijn voldoende om deze wizard te kunnen gebruiken.
Conclusie
SQL Developer heeft sinds de introductie flinke stappen gemaakt om een goed alternatief te zijn voor andere database ontwikkeltools. Het werken met SQL Developer vergt wel enige aanpassing bij het overstappen van bijvoorbeeld TOAD of PL/SQL Developer. Hierbij merk je dat SQL Developer vergeleken met TOAD nog niet helemaal volwassen is, al is dat niet zo vreemd als je bedenkt dat TOAD al 10 jaar langer bestaat. Het gaat te ver om in deze bespreking van SQL Developer de verschillen met alle bekende tools te gaan uitlichten. Bovendien is het erg persoonlijk welke tool men fijner vind om mee te werken. Er zijn nog wel wat verbeterpunten te noemen, zoals het werken met database bestanden en het kunnen aanpassen van een resultaatset van een query.
Maar SQL Developer voldoet prima als database ontwikkeltool en heeft ondertussen ook genoeg voordelen, het draait op meerdere platforms en kan gebruikt worden voor meerdere database leveranciers. Bovendien wordt door de ontwikkelaars van SQL Developer erg goed geluisterd naar de suggesties van de gebruikers. Via SQL Developer Exchange kunnen suggesties voor verbeteringen of aanpassingen worden gedaan, en vele suggesties zijn al in deze versie verwerkt.
Referenties
- Oracle SQL Developer op OTN:
www.oracle.com/technology/products/database/sql_developer - Oracle SQL Developer 1.5 new features:
www.oracle.com/technology/products/database/sql_developer/files/newFeatures_v15.html - Oracle SQL Developer forum op OTN:
forums.oracle.com/forums/forum.jspa?forumID=260 - Oracle SQL Developer Exchange:
apex.oracle.com/pls/otn/f?p=42626:16
Over de auteur
Peter van der Neut is Oracle consultant bij Whitehorses en heeft ruim 8 jaar ervaring in de IT. Hij houdt zich voornamelijk bezig met applicatieontwikkeling met Oracle technologie en heeft veel ervaring met PL/SQL, Forms, Designer en Application Express. Daarnaast houdt hij zich bezig met nieuwe ontwikkelingen als Oracle ADF.

Reacties
Nieuwe reactie inzenden