Veysel Uğur KIZMAZ

Java ile SQL Server 2008 Bağlantısı

26.03.2012Okunma Sayısı: 10739Kategori: Java

 Bu makalemizde Java ile MS SQL Server 2008 R2’ye nasıl bağlantı kuracağımızı inceleyeceğiz.

Bu işlem için bu linkten Microsoft SQL Server JDBC Driver 3.0’ı indirelim : (1033\sqljdbc_3.0.1301.101_enu.tar.gz) .
Klasör içindeki dosyalarda 2 adet JDBC driverı bulunmaktadır:
1. JDBC Driver 3.0 (sqljdbc.jar) : SQL Server 2008 R2, SQL Server 2008, SQL Server 2005, SQL Server 2000 – Java EE 5 ve üstü versiyonlarda kullanılır.
2. JDBC Driver 4.0 : (sqljdbc4.jar) : JDK 5.0 ve üstü versiyonlarda kullanılır.
Şimdi yeni bir Java Application oluşturalım ve sqljdbc4.jar dosyasını projeye dahil edelim. Projemizi geliştirirken Eclipse IDE’sini kullanmaktayız.
Projemize sağ tıklayalım ve jar’ı eklemek için Properties’i seçelim.
Sol menüden Java Build Path’i seçelim. Libraries tabına geçelim.
Açılan ekranda Add External JARs  seçeneğini seçelim ve sqljdbc4.jar dosyamızı seçelim.
Jar dosyamız projemize eklendi.
Şimdi veritabanı bağlantımız için yeni bir sınıf oluşturalım.
publicclass Baglanti {
 
          publicvoid Baglan()
          {
              try
              {
                  String connectionString = "jdbc:sqlserver://localhost:1433;" +
                     "databaseName=Veritabani;user=**;password=*****;";
 
                  Connection baglanti = DriverManager.getConnection(connectionString);
                  System.out.println("Bağlandı");
              }
              catch (Exception e)
              {
                  System.out.println("Hata");
              }
          }
}
 
Baglanti sınıfımızdaki Baglan() methodu ile bağlantıyı test edebiliyoruz. Main() methodundan Baglan() methodunu çağıralım ve bağlantıyı inceleyelim.
      publicstaticvoid main(String[] args) {
            Baglanti db = new Baglanti();
          db.Baglan();
      }
 
Dipnot : SQL Server’a 1433 numaralı TCP/IP portu ile bağlandığımız için SQL Server’ın TCP/IP özelliğinin Enabled olması gerekmektedir. Bunun için SQL Server 2008 -> Configuration Tools -> SQL Server Configuration Manager’ı açalım.
SQL Server’ımızı seçip TCP/IP özelliğinin Enable olmasını sağlayalım (Enabled değilse).
Şimdi projemizi çalıştıralım.
Şimdi SQL Server’daki bir tablo kayıtlarını alıp ekranda gösterelim.
Bunun için veritabanımda bulunan “Kayit” tablosuna bağlanacağım ve ilk 10 kaydı alacağım. İstediğiniz tablonunun kayıtlarını çekebilirsiniz.
Önce SQL Server’da tablo kayıtlarını inceleyelim:
Şimdi Baglan() methodunun kodlarını aşağıdaki gibi düzenleyelim.
          publicvoid Baglan()
          {
              try
              {
                  String connectionString = "jdbc:sqlserver://localhost:1433;" +
                     "databaseName=Sozluk;user=sa;password=123456;";
 
                  Connection baglanti = DriverManager.getConnection(connectionString);
                  System.out.println("Bağlandı");
                  try {
 
                      String SQL = "SELECT TOP 10 KayitId, Kelime FROM Kayit";
                      Statement durum = baglanti.createStatement();
                      ResultSet rs = durum.executeQuery(SQL);
 
                      // Iterate through the data in the result set and display it.
                      while (rs.next()) {
                         System.out.println("Id : " + rs.getString("KayitId") + "\nKelime :" + rs.getString("Kelime") + "\n");
                      }
                   }
 
                   // Handle any errors that may have occurred.
                   catch (Exception e) {
                      e.printStackTrace();
                   }
              }
              catch (Exception e)
              {
                   e.printStackTrace();
              }
          }
 
Statement : Statik bir SQL deyimi yürütme ve ürettiği sonuçları alabilmek için kullanılan nesne.
ResultSet : Veritabanından alınan kayıtların tutulduğu nesne türü.
Projemizi çalıştırınca aşağıdaki sonuçları alacağız :
Bağlandı
Id : 00000f2cf874443a84815adad4524bc4
Kelime :gölet
 
Id : 00003a066bf045c8b09386e78f8a1d47
Kelime :tirokalsitonin
 
Id : 0000a83d0fe249008a17d70ec4374774
Kelime :güdümsüz
 
Id : 000253622b5647f38d4431031f04e881
Kelime :alçılama
 
Id : 00058939b2644239817d5fbb748912c3
Kelime :asılanma
 
Id : 000618ec099444f6a61c56dd1c229b92
Kelime :yarı sanayileşme
 
Id : 0007d78d30a448d795ef963e2492337d
Kelime :ikilem
 
Id : 000a65e17acc43ec93cec7cd0e11bc99
Kelime :görüşmeci
 
Id : 000ad5d3fb564f06b4c1aa1adbe5b2b9
Kelime :yan kâğıdı
 
Id : 000b202832a94f7db49af823230f9235
Kelime :cihazlanmak
 
 
 
Veysel Uğur KIZMAZ
Bilgisayar Mühendisi
veysel@ugurkizmaz.com
www.ugurkizmaz.com
twitter: 
@vukizmaz