JDBC Veritabanı Bağlantısı

JDBC Derslerine devam ediyoruz. Önceki JDBC Dersleri’ne ulaşmak için tıklayınız.

Bu JDBC Dersinde önceki derslerde gördüğümüz, kavradığımız konuları pratiğe dökmeye başlayacağız. JDBC API ile Veritabanımız ile bağlantı kuracağız.

JDBC ile bağlanacağımız veritabanımız MySql olucak. (MySql Server MySql WorkBench Kurulumu için tıklayınız)

JDBC ile Veritabanı bağlantısı için yapmamız gereken adımlar sabit bu adımları önceki derslerde açıklamıştım. Şimdi uygulamaya geçelim.

1. Öncelikle yapapcağımız ilk iş JDBC yi kullanmamız için gerekli olan kütüphaneyi programımıza eklemek olacak.

 2. Kullandığımız veritabanımızın sürücüsünü yükleyeceğiz. Sık kullanabileceğimiz veritabanı Url ve sürücü’lerini önceki derste yazsamda tekrar hatırlayalım.

RDBMS
JDBC sürücüsü adı
URL formatı
MySQL com.mysql.jdbc.Driver jdbc: mysql :/ / hostadi / veritabanıadı
ORACLE oracle.jdbc.driver.OracleDriver jdbc: Oracle: ince: @ hostadi: port numarası: veritabanıadı
DB2 COM.ibm.db2.jdbc.net.DB2Driver jdbc: db2: hostadi: port numarası / veritabanıadı
Sybase com.sybase.jdbc.SybDriver jdbc: sybase: TDS: hostadi: port numarası / veritabanıadı

Biz MySQL kullanacağımız için yüklememiz gereken JDBC sürücünü yazalım.

3. Veritabanımızın yolunu belirtmemiz için gereken Url’i yazalım.

3306 olan yer MySQL’in kullandığı port numarasıdır. Kurulumda bu port numarası varsayılan olarak gelir. Başka bir program kullanmıyorsa ya da siz değiştirmeyseniz sorun yaşamacaksınız ancak bir değişiklik var ise belirtilen port numarasını yazmanız gerekmekte.

4. İşte amacımıza ulaşmamız için son adım. Bağlanmak.

 Veritabanımız ile bağlantımızı kurmak için gerekli olan bölümdeyiz. Bu adımda MySQL’i e ulaşıp kullanmamız için gerekli olan kullanıcı adı ve şifre ile beraber url’imizi DriverManager.getConnection () metodu sayesinde bağlantımızı gerçekleştireceğiz.

Eğer bu adımda bir hata almıyorsak bağlantımızı sağladık demektir. Bu bağlantının hata verip vermediğini anlamak için try-catch bloğuna almamız gerekmekte. İleriki derslerde ve diğer yazıda ki örneklerimizde try-catch bloğuna alacağız.

5. Bağlantı kapatmak.

Açtığımız bağlantımızı kapatmamız programımız ile veritabanı arasındaki yolu işimiz bittiğinde programımıza güvenlik ve kaynak amaçlı bir katkı sağlayacaktır.

Son olarak bir bağlantı işlemi nasıl olur bakalım.

 

4 comments

  1. ibrahim

    java ile oracle veri tabanına bağlanmak istiyorum fakat aşağıdaki gibi hata almaktayım sebebi nedir?

    java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:264)
    at orclconnect.Orclconnect.main(Orclconnect.java:27)
    BUILD SUCCESSFUL (total time: 0 seconds)

    • Burak
      Author

      Projenize Oracle veritabanına bağlanmak için gerekli olan kütüphaneyi eklemediğiniz için ilgili classları bulamıyor.

  2. ibrahim

    bilgisayarımda yüklü olan jdk 1.8 oracle sitesinden ojdbc6, ojdbc7, ojdbc8, indirdim fakat hala aynı hatayı almaktayım.

    java.sql.SQLException: ORA-28009: connection as SYS should be as SYSDBA or SYSOPER

    at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:494)
    at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:441)
    at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:436)
    at oracle.jdbc.driver.T4CTTIfun.processError(T4CTTIfun.java:1061)
    at oracle.jdbc.driver.T4CTTIoauthenticate.processError(T4CTTIoauthenticate.java:550)
    at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:623)
    at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:252)
    at oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:499)
    at oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:1279)
    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:663)
    at oracle.jdbc.driver.PhysicalConnection.connect(PhysicalConnection.java:688)
    at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:39)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:691)
    at java.sql.DriverManager.getConnection(DriverManager.java:664)
    at java.sql.DriverManager.getConnection(DriverManager.java:247)
    at oracleconnection.Oracleconnection.main(Oracleconnection.java:25)

    • Burak
      Author

      Bağlanmaya çalıştığınız kullanıcı ile ilgili bir sorun var. SYS’nin bağlanmak için yetkisi yok. SYSDBA ya da SYSOPER ile tekrar bağlanmayı ya da SYS kullanıcısına gerekli izinleri verin. Şu an driver sorunu ortadan kalkmış. Kullanıcı problemi bulunmakta.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir