Makale Özeti

Kablosuz ağ teknolojisini kullanamadığımız dönemlerde mobil cihazlardan bir SQL Sunucusuna bağlanmak biraz hayalî görünürdü. Ancak günümüzde mobil cihazlardan direk SQL Sunucu bağlantısı yapmak birçok uygulama için çok önemlidir. Veri tabanının sadece sunucu üzerinde tutulması söz konusu olduğunda .NET CF den önce IIS yada Windows Soketlerini kullanarak bu işlemleri yapardık, ancak ne data güvenliği ne de stabilizeden bahsetmek mümkün olmazdı. Bu makalede System.Data.SqlClient kullanarak kablosuz ağ yada GPRS üzerinden direk SQL Sunucu bağlantısını mobil cihazlar ve uygulamalar kullanarak nasıl yapacağımızı göreceğiz.

Makale

Pocket PC ile SQL Server Erişimi

 

            Kablosuz ağ teknolojisini kullanamadığımız dönemlerde mobil cihazlardan bir SQL Sunucusuna bağlanmak biraz hayalî görünürdü.

 

            Ancak günümüzde mobil cihazlardan direk SQL Sunucu bağlantısı yapmak birçok uygulama için çok önemlidir.

 

            Veri tabanının sadece sunucu üzerinde tutulması söz konusu olduğunda .NET CF den önce IIS yada Windows Soketlerini kullanarak bu işlemleri yapardık, ancak ne data güvenliği ne de stabilizeden bahsetmek mümkün olmazdı.

 

            Bu makalede System.Data.SqlClient kullanarak kablosuz ağ yada GPRS üzerinden direk SQL Sunucu bağlantısını mobil cihazlar ve uygulamalar kullanarak nasıl yapacağımızı göreceğiz.

 

            Bu uygulamayı geliştirirken Visual Studio 2005 Beta kullandım.

 

            Öncelikle System.Data ve System.Data.SqlClient sınıflarını referans olarak eklememiz gerekiyor.

 

            Aslında bu bağlantının normal bir PC den yapılan bağlantıdan çok farkı yok, sadece projemize doğru dll dosyasını “referans olarak eklemememiz” gerekiyor.

 

            Bu dll ler de Net Compact FrameWork SDK altındaki system.data.dll ve system.data.sqlclient.dll dir.

 

            Uygulamayı geliştirirken herhangi bir Pocket PC 2003 yada Windows CE işletim sistemine sahip cihaz kullanabileceğiniz gibi “Smart Devices SDK” ile gelen Emulatörleri de kullanabilirsiniz.

 

            Fiziksel bir cihaz kullanacaksanız öncelikle cihazın sunucuya erişebilmesi için ip ayarlarını yapmanız gerekiyor, Ayrıca projeyi deploy ederken Microsoft  ActiveSync 4.0 kullanmanız gerekiyor daha önceki versiyonlarda bağlantı problemi ortaya çıkıyor.

 

            Bu Projemizde, SQLCommand ve SQLDataReader Kullanacağız,

            ExecuteReader Kullanarak da SQLDataReader’a tabloyu aktaracağız.

 

            Projeye bir adet Buton ekleyip adını cmdSQL ve 1 adet TextBox ekleyip adını txtProduct, MultiLine özelliğini de True yapmalısınız.

                       

            Kod yapımız Aşağıdaki Gibi;

 

Imports System.Data

Imports System.Data.SqlClient

 

Public Class frmMain

 

    SQL Connection nesnesi tanımlıyoruz

    Public Cn As SqlConnection

 

 

    Private Sub cdmSQL_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdSQL.Click

         SQL_BAGLAN()

    End Sub

 

   

    Sub SQL_BAGLAN()

     

        Cursor.Current = Cursors.WaitCursor

        Dim SAY As Integer,SQL_SUNUCU as string

        SAY = 0

        SQL_SUNUCU = "192.168.0.1"

       

Try

            Cn = New SqlConnection

            ‘Burada Önemli Olan Nokta NT Auth Kullanmamanız.

Cn.ConnectionString = _

            ("server=" & SQL_SUNUCU & _

            "; database=NothWind" & _

            "; uid=sa" & "; pwd=")

           

Cn.Open()

 

            Dim cmdSelectQuery As New SqlCommand("SELECT * FROM Products", Cn)

            Dim drdProduct As SqlDataReader

            drdProduct = cmdSelectQuery.ExecuteReader()

 

            With drdProduct

                While .Read() = True

                    txtProduct.text = txtProductText & _

                    CStr(.Item("ProductName")) & vbCrLf

                End While

            End With

            Cn.Close()

            drdProduct.Close()

 

        Catch exc As Exception

 

            MsgBox(exc.Message)

 

        Finally

            Cursor.Current = Cursors.Default

        End Try

    End Sub