R — Oracle DB Bağlantısı

Onur Boyar
Veri Bilimi Türkiye
2 min readAug 31, 2018

Merhaba arkadaşlar,

Bu yazımda sizlere Oracle DB — R bağlantısı nasıl yapılır onu göstermeye çalışacağım.

Oracle DB sektörde sık kullanılan bir veritabanı çözümüdür. Bu çözümü R ile birleştirdiğimizde çok gü.lü bir silah elde edebiliriz. Hem de çok kolay bir şekilde! Bunun için ilk olarak yüklememiz gereken bir kaç R paketi bulunuyor, ilk olarak onlardan başlayalım.

install.packages(‘RJDBC’)
install.packages(‘rJava’)

Bu paketler bizim Oracle DB bağlantısını kurmamız için temel fonksiyonları sağlayacak. Oracle bağlantısı kurarken karşılaşabileceğimiz bir sorun R’ın Java’nın yüklü olduğu dizini bulamamasıdır. Bu nedenle R’a Java’nın nerde olduğunu göstermemiz işimize yarayacaktır.

Sys.setenv(JAVA_HOME=’C:/Program Files/Java/jre1.8.0_181')

Kodu ile siz de Java dosyanız nerede ise dizin kısmını değiştirerek bu sorunu çözebilirsiniz. Şimdi yüklediğimiz paketleri çağıralım.

library(rJava)
library(RJDBC)

Bu paketleri çağırdıktan sonra bir RJDBC sürücüsü yüklememiz gerekiyor.

http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-112010–090769.html

Adresinden size uygun jdbc dosyasını indirebilirsiniz. İndireceğiniz dosyanın ismi ojdbc6.jar olacak. Bu dosyayı yükledikten sonra R’a dönüp bir jdbcDriver oluşturacağız. Bunu yapmak da oldukça kolay.

jdbcDriver=JDBC(“oracle.jdbc.OracleDriver”,classPath=”C:/ProgramFiles/directory/ojdbc6.jar”)

Kodu ile indirdiğimiz ojdbc6.jar dosyası sayesinde bir jdbcDriver oluşturduk.

Şimdi son adıma geçebiliriz. Bu adımda bir jdbcConnection oluşturacağız. Bunu oluştururken az önce yarattığımız jdbcDriver, Oracle DB üzerindeki ‘Host ve Port’ bilgisi, database ismi ve kullanıcı adı ve şifre bize lazım olacak. jdbcConnection bağlantımızı aşağıdaki gibi oluşturabiliriz.

jdbcConnection=dbConnect(jdbcDriver,“jdbc:oracle:thin:@//HOST:PORT/DB_ISMI”, “kullanıcı_adı”, “şifre”)

Bu işlemi de tamamladıktan sonra R — Oracle bağlantısını yaptık demektir!

O zaman ilk select’imizi atalım.

table1 = dbGetQuery(jdbcConnection,’SELECT * FROM customers’)

Kodunu çalıştırdığımızda table1 Oracle DB’de bulunan customers tablosunun hepsini alacaktır. Tablonun büyüklüğüne ve sisteminizin gücüne göre bu işlem uzun sürebilir.

R üzerinden Oracle DB’ye veri yüklemek de oldukça kolaydır. Tek bir satırda halledebiliriz.

dbWriteTable(jdbcConnection, “TABLO”, table1)

Kodu ile yukarıda oluşturduğumuz table1 değişkenini Oracle DB’ye TABLO ismi ile yüklemiş olduk.

Bu tabloyu silmek için de

dbRemoveTable(jdbcConnection, “TABLO”)

kodu yeterli olacaktır.

Bu yazımızda Oracle — R bağlantısını gördük. Bu bağlantıdan sonra alabileceğimiz veri ile neler yapabiliriz? Bunları sıradaki yazılarımızda ele alacağız.

--

--