Dün Asp.NET Login Kontrollerinie MySQL ile kullanabilmek için tüm gün araştırdım durdum. Şimdi de bu bilgileri paylaşmak istedim. Eğer benim gibi asp.net’te yeni iseniz bu bilgiler illaki lazım olur. Çünkü genellikle SQL Server kullanılmak istenmez.
İlk önce yapmanız gereken Mysql.Data 5.2.2‘yi yüklemek(5.2.3 şu an son versiyon fakat ilerde göreceğiniz bir işlemi otomatik olarak yapmıyor). 5.2.2′i buradan bulabilirsiniz.
Projenizin web.config dosyasını açıp bağlantı cümlelerine aşağıdaki gibi bir bağlantı ekleyin:
<connectionStrings>
<remove name=”LocalMySqlServer”/>
<add name=”LocalMySqlServer” connectionString=”server=localhost; user id=root; password=toor; persist security info=true; database=dorknozzle;” providerName=”MySql.Data.MySqlClient”/>
</ connectionStrings>
Proje referanslarına (Projeye sağ tıklayıp>Property Pages’dan) MySQL.Data’yı eklemeniz tavsiye edilir.
Mysql.Data ve Mysql.Web dll’lerini projenizin içindeki Bin klasörüne kopyalayın. Sonra da Solution Explorer’ı tazeleyin.
Dikkat machine.config dosyasında değişiklik yapmanız pek tavsiye edilmeyen birşeydir. Ama mysql için bunları eklememiz gerekiyor. Ve unutmayın ki asp.net servis sağlayıcınız MySQL’i desteklemeyebilir. Bunu en başta sorun.
machine.config dosyasını açıp aşağıda belirtildiği yere autogenerateschema=”true” niteliğini ekleyin:
<membership>
<providers>
<add name=”MySQLMembershipProvider” autogenerateschema=”true” type=”MySql.Web.Security.MySQLMembershipProvider, MySql.Web, Version=5.2.2.0, … />
</providers>
</membership>
Sitenizin konfigurasyon sayfasını açın (Açılmış olan projede, Website > ASP.NET Configuration yolunu izleyin, ya da Solution Explorer’daki çekik ve dünya ikonuna tıklayın). Provider sekmesinde Membership Provide listesinden MySQLMembershipProvider‘ı ve Role Provider listesinden de MySQLRoleProvider‘ı seçin. İsterseniz test linklerine basıp bağlantıları kontrol edebilirsiniz.
Ben eğitim süresince aşağıdaki hatalarla karşılaştım (en azından hatırladıklarım ve kaydettiklerim bunlar)
/> :
There is a problem with your selected data store. This can be caused by an invalid server name or credentials, or by insufficient permission. It can also be caused by the role manager feature not being enabled. Click the button below to be redirected to a page where you can choose a new data store.
The following message may help in diagnosing the problem: Unable to initialize provider. Missing or incorrect schema. (c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Config\machine.config line 145)
Ayrıca aşağıdaki linkler çok faydalı oldu. Ortadaki link en faydalısı (tümü İngilizce kaynaklardır):



Merhaba Hasan Bey Asp.Net ile ilgileniyorum. Veritabanı Bağlantılarına daldım bu aralar.MySql her yerde yaygın olduğu için Bunu Öğrenmem gerekiyordu.İşin Web Kısmı İle ilgileniyorum. Burada Yazdıklarınızın Çoğunu Uyguladım.Ve Tam Oldu Derken Şöyle Bir Hata Aldım.
Tanınmayan yapılandırma bölümü: remove. (C:\inetpub\wwwroot\MYSQL-CALISMASI\web.config line 16)
Kodunu Tanımıyor Yani.Oysa Ben Access Kullanırken Bu Kodu Kullanmıştım ve Tanımıştı Şimdi Sıkıntı Ne Anlamadım.Elinizde MySql bağlantılı çalışan bir web örneği varmıdır.Bana web.config kodları lazım lakin öyle kodlar buldum ama yinede çalışmadı.
Merhabalar,
web.config dosyanızın 16. satırını kontrol edebilir misiniz? Gerekirse buraya yazın. O satırdaki kod problemli olabilir.