Java MsSQL Database Bağlantısı

Merhaba arkadaşlar bugün sizlere Java ile MsSQL bağlantısı nasıl yapıcağı hakkında gerekli kodu paylaşacağım. Java ile Mysql bağlantısı yazımda detaylıca .jar yani kütüphane dosyalarını nasıl import edileceğiniz anlattığımdan dolayı tekrar etmeyeceğim. Paylaşacağım kodda biz sql server authentication modunu kullandık  isterseniz windows authentication ilede bağlanabilirsiniz…

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;


public class MsSqlConnection {


    public static void main(String[] args)
    {
        Connection connect=null;
        Statement statement=null;
        String Query="select * from [tablename]";

        String JDBC_DRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
        String DATABASE_URL = "jdbc:jtds:sqlserver://youraddress;database=yourdbname;integratedSecurity=true;";
        String USERNAME = "sa"; 
        String PASSWORD = "*****";
        try
        {
            //Driveri ekliyoruz.
            Class.forName(JDBC_DRIVER);
            connect=DriverManager.getConnection(DATABASE_URL,USERNAME,PASSWORD);
          
            statement=connect.createStatement();
            ResultSet result=statement.executeQuery(Query);
            
            ResultSetMetaData metaData = result.getMetaData();
            int number = metaData.getColumnCount();
            for(int i=1; i<=number; i++) 
            System.out.printf( "%-8s\t", metaData.getColumnName( i ) );
            System.out.println();
            while(result.next()) {
            for(int i=1; i<=number; i++) 
            System.out.printf("%-8s\t", result.getObject(i));
       //   int id = result.getInt("ID"); //if you want to fetch specitfic info use this method.
            System.out.println();
                 
            }
        }
 
        catch(SQLException e)
        {
            e.printStackTrace();
            System.exit(1);
        }
        catch(ClassNotFoundException e)
        {
            e.printStackTrace();
            System.exit(1);
        }
        finally
        {
            try
            {
            	connect.close();
                statement.close();
            }
            catch(Exception e)
            {
                e.printStackTrace();
                System.exit(1);
            }
        }
    }
}

Koda baktığımızda bilmemiz gereken ayrıntı;

jdbc:jtds:sqlserver satırıdır. Buradaki jtds java ile mssql arasında sql server authentication yapmamızı sağlıyor. Linux kullanan arkadaşların işine çok yarayacaktır bu yöntem. Zira windows tarafında windows authentication dosyasınıda projenize eklemeniz gerekiyor native library olarak. Ek olarak sql server authentication yapmak istiyorsak sql serverdan bu ayarı aktifleştirmek gerekiyor. Sql serverdan bağlı olduğunuz datasenin üzerine gelerek sağ tıklayıp properties seçeneğine girin ardından;

SqlServerAuthenticationMode

 

Bu ayarı etkinleştirmeniz gerekiyor.

Windows üzerinden java programlıyorsanız kodu jdbc:sqlserver olarak değiştirebilirsiniz. bu şekilde çalıştırmak isterseniz sql server authentication ile uğraşmanıza gerek yoktur.

http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=11774 adresinden kütüphaneyi indirip işletim sistemi türünüze göre sqljdbc_auth.dll dosyasını projenize nativa library olarak eklemeniz gerekmektedir.

Download

 

Emre Bektaş

Computer Engineer C# / Java Developer

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *