Java JDBC MS SQL Server ‘a Bağlantı Kurmak

Java geliştiricilerinin Microsoft dünyasına uzak durmaya çalıştıklarından olsa gerek genelde çok rağbet etmedikleri bir veri tabanı yönetim sistemi SQL Server. Ancak yine de buna ihtiyaç duyulursa yapılması çok zor değil. Şayet JDBC kullanıyorsanız yapılması gereken;  öncelikle driver’ı Microsoft’un sitesinden indirmek. Son indirdiğim tarihte söz konusu dosya bir .exe biçiminde paketlenmiş aslında winzip self extractor dosyası.

sqljdbc_3.0.1301.101_enu.exe

Bu dosya açılmalı ve içinden çıkan dosyalar disk üzerinde bir klasöre yerleştirilmelidir.

Daha sonra Eclipse IDE’sini kullandığınızı varsayarak projenize ilgili jar dosyasını eklemelisiniz.

Project > Properties > Java Build Path > Add External JARs ile dosyayı bulup ekleyiniz.  Eklemeniz gereken “sqljdbc4.jar” isimli dosyadır.

www.softrik.tv (yazılım, donanım inceleme, elektronik ve diğer konulardaki video’larım)

Bu hazırlık aşamasından sonra kod yazımına geçilebilir. Bu noktada ilk akla gelen bir Connection nesnesi  oluşturmaktır. Ancak bunun olabilmesi için SQLServerDriver sınıfının dinamik olarak yüklenmesi ve Connection türünde referans alınmasıdır. Bunun 2 yöntemi vardır :

  1. 1.    Yöntem :

Class.forName(“com.microsoft.sqlserver.jdbc.SQLServerDriver”);

String cstr = “jdbc:sqlserver://127.0.0.1; databaseName=pubs”;

Connection cnn = DriverManager.getConnection(cstr, “sa”, “XX”);

2.     Yöntem :

Class c = Class.forName(“com.microsoft.sqlserver.jdbc.SQLServerDriver”);

Driver drv = (Driver) c.newInstance();

Connection cnn =  drv.connect(“jdbc:sqlserver://127.0.0.1; databaseName=pubs; user=sa; password=XX”, null);

Burada Class.forName() fonksiyonun neden kullanılması gerektiğini bilmiyorsanız :

Test Kodu :

import java.lang.*;

import java.sql.*;

public class Test

{

public static void main(String[] args)

{
try

{

/*

Class.forName(“com.microsoft.sqlserver.jdbc.SQLServerDriver”);

String connectionUrl = “jdbc:sqlserver:// 127.0.0.1; databaseName=pubs”;

Connection conn = DriverManager.getConnection(connectionUrl, “sa”, “123”);

*/

Class c = Class.forName(“com.microsoft.sqlserver.jdbc.SQLServerDriver”);

Driver drv = (Driver) c.newInstance();

Connection conn = drv.connect(“jdbc:sqlserver://127.0.0.1;
databaseName=pubs; user=sa; password=123”, null);

Statement stmt = conn.createStatement();

ResultSet rs;

rs = stmt.executeQuery(“select * from titles”);

while (rs.next())

{

System.out.println(rs.getString(“title”));

}

}

catch (ClassNotFoundException e)

{

e.printStackTrace();

}

catch (SQLException e2)

{

e2.printStackTrace();

}

catch (InstantiationException e)

{

e.printStackTrace();

}

catch (IllegalAccessException e)

{

e.printStackTrace();

}

}

}

SQL Server’a Bağlanmada Sorun Yaşıyorsanız Şu Noktaları Gözden Geçirin :

  • SQL Server varsayılan durumda 1433 portunu kullanır. Firewall’unuz bu portu kapatmış olabilir.
  • SQL Server Browser servisi çalışmıyor olabilir. (Uzak bağlantılarda)
  • SQL Server’da TCP/IP pasif durumda olabilir. Bunu SQL Server Configuration Manager’daki “Protocols for MSSQLSERVER” kısmından Enabled hale getiriniz.
Reklamlar