Oracle SQL Developer
Daha önce çalıştığım şirkette sürekli sqlplusw kullandığımdan, Oracle 11g’de sqlplusw’nin olmayıp yerine SQL Developer’ın konulmaya çalışılması hoşuma gitmemişti. Ama zamanla bu uygulamaya alıştım. Özellikle evimde Windows kullanmayı bırakınca hem TOAD hem de sqlplusw benim için değerini yitirdi. Java ile yazılmış, platform bağımsız SQL Developer’ı daha çok kullanmaya başladım ve kullandıkça daha çok sevdim.
Oracle SQL Developer, potansiyeli olan bir ürün. Platform bağımsız ve ücretsiz olması çok önemli ama en az bunlar kadar önemli iki özelliği daha var: İster Java ile isterseniz XML ve SQL kullanarak eklentiler geliştirebiliyorsunuz, ve sadece Oracle’ı değil, Ms Access, Ms SQL Server, MySQL, TimesTen, Sybase ve DB2 ile çalışmanızı sağlıyor. Bu iki özelliğe sahip piyasada çok ürün yok.
Oracle SQL Developer ile SQL Plus’la yapabileceğiniz hemen herşeyi yapabiliyorsunuz. Veritabanından veriyi dışarı aktarmada CSV’nin yanında, HTML, XML, Excel, PDF gibi pek çok seçenek sunuyor. Bunun yanında çeşitli veritabanlarından Oracle’a veri aktarım için “migration” araçları var.
SQL Developer ile Oracle ve Ms Access dışındaki veritabanlarına bağlanabilmek için ilgili JDBC dosyasını yükleyip, uygulamaya tanıtmanız gerekiyor. Ben MySQL ve Ms SQL Server için olanlarını sorunsuzca çalıştırdım:
MySQL için JConnector: http://dev.mysql.com/downloads/connector/j/
Ms SQL Server ve Sybase için (open) JTDC: http://sourceforge.net/projects/jtds/
Oracle TimesTen’in client’ını sisteme kurduğunuzda SQL Developer otomatik olarak JDBC sürücüsünü ekliyor.
İndirdiğiniz JDBC sürücülerini SQL Developer’a yüklemek için menüden tools >> preferences pencerisini açıp, “Database” altındaki “Third Party JDBC Drivers” bölümüne geçiyorsunuz. Burada Add Entry ile yeni bir JDBC dosyasını SQL Developer’a tanıtmak mümkün.
Bu işlemden sonra SQL Developer’ı kapatıp açıyoruz, böylece eklediğimiz JDBC aktif hale geliyor. Eklediğiniz JDBC dosyasının etkisini Yeni bir bağlantısı oluşturmak istediğinizde görebilirsiniz:
Oracle SQL Developer, ümit vadediyor ama bir çok eksiği de var. Veritabanı yönetimi ile ilgili fonksiyonları yok denecek kadar az. Schema browser’ı inanılmaz derecede ilkel. Schemalar arasında geçiş pratik değil. Hem MySQL, hem Ms SQL Sever’da veritabanları arasında geçişi sağlayan USE komutu çalışmıyor. MySQL’de çalışacağınız veritabanını “choose database” ile bağlanmadan önce seçmeniz gerekiyor. Ms SQL Server’da veritabanları listesinde istediğiniz veritabanının ismi üzerinde sağ click yapıp “Select Default Database” ile geçiş yapabiliyorsunuz ama USE komutunu kullanamamak işleri uzatıyor.
Java ile de eklenti oluşturulabildiğini söylemiştim. Internette araştırma yaparken, schemalar ve veritabanları arasında kolay geçiş yapılmasını sağlayan bir eklenti buldum. Bu eklenti Oracle, MySQL ve Ms SQL Server’ı destekliyor:
http://www.javaforge.com/project/schemasel
XML ve SQL kullanarak da basitçe eklenti oluşturabiliyorsunuz. Bu tip eklentiler daha çok sıkça çalıştırdığınız sorgular için “akıllı” kısayollar oluşturmaya benziyor. Örneğin seçtiğiniz tabloyla ilgili bir sorgu çalıştırmak gibi… Aşağıdakileri bir dosyaya yazıp (örneğin setparallel.xml) basit bir eklenti oluşturalım:
[/sourcecode] My Menu <label>Parallellik Derecesi</label> <![CDATA[alter table "#OBJECT_OWNER#"."#OBJECT_NAME#" parallel #0#]]> This action changes the degree of parallelism of a table. [sourcecode language="xml"]
Bu dosyanın nasıl hazırlandığını şuaradan bulabilirsiniz:
http://st-curriculum.oracle.com/obe/db/11g/r2/prod/appdev/sqldev/srccodexmlext/xmlext_otn.htm
Hazırladığımız bu dosyayı SQL Developer’a tanıtmak için tools >> preferences pencerisini açıp, “Database” altındaki “User Defined Extensions” bölümüne geçiyorsunuz. “Add Row” düğmesine basıp eklenti türünü ACTION seçiyoruz ve setparallel.xml dosyamızı seçiyoruz. Oracle SQL Developer’ı restart edince eklentimiz aktif hale geliyor. Oracle’daki her hangi bir tabloya sağ tıkladığımızda eklentimizin menüye eklendiğini görebiliriz:
Eklentiyi çalıştırınca bize parallellik değerini girebileceğimiz bir pencere açılıyor. İstediğimiz değeri girip “apply” düğmesine basınca, girilen değerlere göre oluşan SQL’i çalıştırıp sonucunu ve eğer hata varsa hata mesajını gösteriyor.
Oracle SQL Developer’ı özelleştirmek sadece eklentilerle sınırlı değil. Sıkça kullandığınız sorguları snippet olarak tanımlayabiliyorsunuz, SQL Developer’ın temasını değiştirebiliyorsunuz. Özetle, Oracle SQL Developer benim favori araçlarımdan biri, sizin de kullanmanızı öneririm.
Gökhan Atıl tarafından yayınlandı





