Android üzerinden SQL Server iletişimi

"Android cihazlardan SQL Server'a nasıl erişirim" şeklinde bana ulaşan bir soruya yanıt olması açısından bu blogu yazıyorum umarım yararlı olur.

Öncelikle bilinmesi gereken önemli bir nokta var: veritabanlarına mobil cihazlardan doğrudan veritabanı protokolü üzerinden iletişim kurmak doğru değildir. Bunun bir kaç nedeni var:

1) Veritabanlarının portları farklı olabilir ve bu portlar güvenlik duvarları ile kapatılmış olabilir. Bu portlar üzerinden bağlantı kurmak da güvenlik duvarları neneniyle engellenmiş olabilir.  
2) Veritabanları dış erişimlere tamamen kapalı olabilir.
3)  Mobil uygulamalara veritabanı sürücüsü (database driver) eklemek harici bir kütüphane olduğundan uygulamanın boyutunu artırır.

Uygun olan yöntem API veya Web Servisi kullanmaktır.

Fakat gerçek hayat bazen bazı uygun olmayan koşulları zorunlu kılıyor ve bir mobil ugyulamanın bir veritabanına erişmesi ihtiyacı ortaya çıkabiliyor. Bu durumda da Android'in framework altyapısı olan Java'nın veritabanı bağlanırlığı (JDBC) yardıma yetişiyor.

Yani Android cihazlardan JDBC ile veritabanlarına bağlanmak mümkün.

Android cihazlardan SQL Server'a bağlanmak için dikkat edilecek hususlar şöyle:


1) Android uygulamasına AndroidManifest.xml dosyasından internet izni vermek gerekiyor.
<uses-permission android:name="android.permission.INTERNET" /> 

2) net.sourceforge.jtds.jdbc.Driver sürücüsünü kullanmak gerekiyor. Microsoft'un kendi sürücüsü ile bu işlem gerçekleşmiyor.

3) net.sourceforge.jtds.jdbc.Driver sürücüsünün bağlantı şekline dikkat etmek gerekiyor. Örnek : jdbc:jtds:sqlserver://IP_ADRESI:1433;databaseName=VERITABANI_ADI

Bunların dışında normal JDBC bağlantısını aynen yapabilirsiniz. Örnek:


       Connection conn = null;
String url = "jdbc:jtds:sqlserver://10.39.4.103:1433;databaseName=VERITABANI_ADI";
String driver = "net.sourceforge.jtds.jdbc.Driver";
String userName = "KULLANICI_ADI";
String password = "SIFRE";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

try {
Class.forName(driver).newInstance();
Thread thread = new Thread(new Runnable(){
public void run() {
try {
conn = DriverManager.getConnection(url , userName, password);
} catch (SQLException e) {
e.printStackTrace();
}
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
});
thread.start();
} catch (Exception e) {
e.printStackTrace();
}
}

Android projenize SQL Server JDBC sürücüsünü libs dizinine göndermeniz yeterlidir. libs dizini yoksa oluşturmalısınız.

Bu şekildeki bir bağlantıyı yaptığım ve kendi lokal ağımda denediğim bir örneği aşağıdaki adresten indirebilirsiniz:

http://download.muharremtac.com/android_sqlserver.zip
 

2013

Şubat

2012

Ocak Şubat Mart Mayıs Temmuz Eylül Kasım

2011

Ocak Şubat Nisan Haziran Temmuz Ekim

2010

Ocak Şubat Nisan Haziran

2009

Ocak Şubat Nisan Mayıs Haziran Temmuz Ağustos Eylül Ekim

2008

Ocak Nisan Haziran Temmuz Ağustos Eylül Ekim Kasım Aralık

2007

Şubat Mart Nisan Mayıs Haziran Temmuz Ağustos Eylül Ekim Kasım Aralık

2006

Ocak Şubat Nisan Ağustos

2005

Ocak Şubat Mart Nisan Mayıs Haziran Temmuz Ağustos Eylül Ekim Kasım Aralık

2004

Ocak Şubat Nisan Ağustos Eylül Ekim Kasım Aralık

2003

Ocak Şubat Mart Nisan Mayıs Haziran Temmuz Ağustos Eylül Ekim Kasım Aralık

2002

Ağustos Eylül Ekim Kasım Aralık



BEKLİYORUM.. ÖYLE Bİ VAKİTTE GEL Kİ VAZGEÇMEK MÜMKÜN OLMASIN...
Orhan Veli


Bu site açık kaynak kodlu uygulamalar ve kütüphaneler kullanılarak yapılan mblog içerik yönetim sistemi ile sunulmaktadır.
© 2002 - 2012 Muharrem Taç
Sürüm : 5.4.8