mehmetduran.com - Paylaşmak Güzeldir...
Asp.net'te Datasource ile MySql'e Bağlanma
Asp.net ile MySql ile kod tarafından bağlanıp, işlemlerimizi gerçekleştirebiliyoruz. Ancak MySql ile hazır bir DataSource kullanmak biraz sorunlu. Öncelikle Visual Studio'da ki veritabanı bağlantı sihirbazı MySql'i desteklemiyor. Bu yüzden MySql için hazır bir datasource yok ve biz MySql'de bu bağlantı sihirbazını kullanmıyoruz. Ancak yine de SqlDataSource ile MySql ile bağlanıp Gridview, Formview, Datalist, Repeater gibi hazır data formlarını kullanabiliyoruz. Bunun için yapmamız gerekenler şunlar:

Öncelikle kullanacağımız SqlDataSource'e MySql'e bağlantı için ProviderName ve ConnectionString değerlerini veriyoruz.

asp:SqlDataSource ID="SqlDataSource1" runat="server" ProviderName="MySql.Data.MySqlClient" ConnectionString="server=localhost; user id=mehmet; password=mehmet; database=mehmet;" SelectCommand="" UpdateCommand="" DeletCommand="" InsertCommand="">
<parametreler>
asp:SqlDataSource

Görüldüğü gibi SqlDataSource'ü gerektiği gibi yazıp, komutları ve parametreleri de yazdıktan sonra herhangi bir data formunda bu datasource'u kullanabiliriz.

Ayrıca Silme, Update gibi işlemler için kullandığımız MySql tablosunda birincil anahtar olan alan olmalı ve kullancağımız data formunun DataKeyNames="alan_dı" özelliğine bu alan adını bildirmemiz gerekir. Aksi halde update, delete komutları çalışmaz.

Bunları yaptık ancak serverda hata verme olasılığı yüksek. Benim başıma geldiği için biliyorum. MySql ile bağlantı yaptığımızda hata verecektir. Bu bağlantıyı da web.config dosyasında belirterek bu sorunu çözüyoruz. Bunun için web.config dosyasına şunları yazıyoruz:

system.data
    <DbProviderFactories>
      <add name="MySQL Data Provider"
      invariant="MySql.Data.MySqlClient"
      description=".Net Framework Data Provider for MySQL"
      type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=5.2.2.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
    </DbProviderFactories>
  system.data


Burada MySql sürümünüzü kendi kullandığınız sürüm ile değiştiriceksiniz.
Sonuçta MySql'i serverda sorunsuzca kullanmaya başlayabilirsiniz.

İyi Çalışmalar!
Mehmet Duran 18 Ağustos Pazartesi 2008 6 15699 2,8
Bookmark and Share
Bu Yazıyı Değerlendirin.
Konuyla İlgili Olabilecek Diğer Yazılar Sql'de Datetime Alanından Yılı ve Ayı Belirleme Fonksiyonu Asp.net ile Dizine ve Dizindeki Dosyalara Ulaşma Left Join ile Çoklu Tablo Bağlama C Sharp'ta Operatör Overloading Linq to Sql - İlk Örnek Uygulamam
Yorumlar
Yorum Yaz
RSS Yorum Takibi
Merve CANDENİZ 10 Mart Çarşamba 2010 16:07 #1
Mehmet Bey, bu yazınıza istinaden MYSQL ile bir projeye girdim.Girdim olaydım. MysqlDatasource gridview kontrolünde update,delete,insert işlemlerini otomatok olarak yapmıyor.Tek tek elle yazmaksa 20 alanları tablolar için ölüm... Acaba benim sistemdemi bir hata var ?
Mehmet Duran 10 Mart Çarşamba 2010 23:09 #2
Merhaba. Bu hem Visual Studio'nun hem de Mysql'in eksikliği diyebiliriz. Visual studio genelde Microsoft'un ürünleriyle sorunsuz çalışmakta. Diğer ürünlerle ise ürün sahiplerinin geliştirdiği araçlar sayesinde sorunsuz çalışmakta. Bu bakımdan iki tarafın da kusurlu olduğunu söyleyebilirim. Bu yorumdan sonra Mysql'in son connector'unu indirdim ama hala senin belirttiğin gibi sihirbaz ile işlemler yapılmıyor. Yazımdaki gibi el ile yapacaksın. Ayrıca şunu da belirteyim ki hazır araçlar ile yapılan arayüzler pek görsel ve kullanışlı olmuyor. Bunun için kendi kontrollerini kendin oluşturmalısın. Bunun için de kod yazmalısın. Bu yazımda belirttiğim özelliği ben ilk ve son kez kullanmışımdır. Hazır sihirbazlar kullanım açısından kolay olsa da kullanışlılık bakımından çok zayıf.
Merve CANDENİZ 12 Mart Cuma 2010 22:21 #3
Hatanın bende olmadığına sevindim,çözümünün olmayışına üzüldüm. Kontrollerin elle yazılması konusunda bir makale yazarsanız,en az diğerleri gibi faydalı olacaktır. Zira kontrollerin kod ile oluşturulması kolay bir iş olsa da bu kontrollerin template dizaynları yapmak bir o kadar zor olsa gerek.Bir Gridin EDIT modundaki kontrollerinin değiştirilmesi,silinmesi,kolon isimlerinin değiştirilmesi vs ayrı ir uzmanlık olsa gerek. Mehmet Beyin bu konudaki birikimlerini paylaşmasını temenni,rica ediyorum
Mehmet Duran 14 Mart Pazar 2010 01:00 #4
Hata yok ama eksiklik var. Zaman içinde geliştiriciler tarafından çözümlenecektir. Kontrollerin kendimizce yazılma mantığı belirli bir kalıpta olan verilerin döngü içerisinde belirli bir yapıda (html, xml, vb.) tekrardan şekillendirilmesidir. Bu şekilde kendi kontrollerimizi yapabiliriz. Bu konuda yazım muhakkak olur ama zaman konusunda biraz sıkıntı var. Son dönemde hiç vakit bulamıyorum ve paylaşım yapamıyorum. Önümüzdeki süreçte özellikle jQuery Ajax kullanarak geliştirdiğim kontrolleri ve bunların mantığını bloğumdan paylaşmaya çalışacağım.
Ahmet DEMİR 18 Ocak Salı 2011 19:17 #5
Bu mysql data provider sürümünü nereden öğreneceğiz.
Mehmet Duran 04 Şubat Cuma 2011 15:27 #6
@Ahmet, provider'ı indirdiğin yerde her bilgi vardır. Sürüm bilgileri, yapılan değişiklikler ve yenilikler ilgili sayfada belirtilir. Ayrıca ek bir dosya halinde bu bilgileri alırsın.
İsim :
Site :
Yorum :

Buradan bu yazıya ait yorumları RSS olarak takip edebilirsiniz.

Bu servis ile yazılara eklenen yorumları RSS ile takip ederek konu ile ilgili başkaları tarafından yapılan yorumları veya konuyla ilgili sorduğunuz sorulara verilen cevapları görebilirsiniz.
Şans bir uğraşının eseridir.
Bölümler
Yazılar
Arşiv
Arama
Linkler
Site İçi Arama
Son Zamanlarda Ne Yapıyorum ?
İstatistikler - Araçlar - Reklam
İstatistikler
Sayaç
Mehmet Duran | mehmetduran.com | Copyright © 2009