16 Haziran 2009 Salı

Yerel IIS'de ASP.NET ile MSSQL bağlantısı nasıl sağlanır ?


Kendi bilgisayarınıza asp.net sunucusu kurduysanız ve veritabanı olarak mssql kullanıyorsanız, farkedeceğiniz gibi web sayfanızda, sql bağlantısı açılırken, size bağlantı hatası verecektir. "Login Fail" ya da buna benzer bir hata oluşacaktır.

Buna benzer bir sorunu düzeltmek için mssql sunucunuza gerekli kullanıcıları, uygun izinlerle oluşturmanız gerekmektedir.

Bunu gidermek için birkaç adım izledim, ancak bazı adımlar sizin için fazla olabilir. Kendi sorunumuz çözerken hepsini uygulamam gerekti, umarım sizin için de faydalı olur.

Komut istemi açılarak, .net framework'ün bulunduğu dizine gidilir. Benim için bu dizin "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727" şeklinde. Bu dizindeyken "aspnet_regsql.exe" çalıştırılır. Burada karşımıza çıkan pencere izlenir. Sunucunuzun ismi (sunucu isminiz büyük ihtimalle BİLGİSAYARADI\SQLEXPRESS olacaktır) ve bağlanacağınız veritabanı seçilir ve diyalog sonlandırılır. Yaptığınınz ayarların işe yarayıp yaramadığını anlamak için, Sql Management Studio'yu açıp, veritabanı kullanıcılarını "Datebase Roles"dan kontrol edin. Eğer yeni database roles oluşturulmadıysa aşağıdaki adımıda uygulayabilirsiniz.


Gerekli olmayabilir ancak sunucunuza bağlantı sağlanmazsa bu adımıda uygulayabilirsiniz. Komut isteminde, yine aynı dizindeyken, "aspnet_regsql.exe -A all -sqlexportonly C:\runproviders.sql" yazarsanız, c'ye runproviders.sql oluşturulacaktır. Bunuda Sql Management Studio ile çalıştırabilirsiniz.



Son olarak kullanıcı oluşturmamız gerekiyor. Sql Management studio'da Security altındaki Logins'e (Veritabanlarının altındaki security sekmesiyle karıştırmayın.) gelinir. Buna sağ tıklanarak "New Login" denir. Bende login ismi "ERCAN-DATRON\ASPNET" olduğu için bu isimle bir login oluşturuyorum. Şifre olmaması için “Windows Authentication” seçilir. Eğer şifre ile bağlanmak istiyorsanız, "SQL Server authentication"ı seçmeniz gerekiyor. Kendinize isteğinizce göre aşağıda bulunan üç kutucuk seçilir ya da kaldırılır. Kullanacağınız veritabanını, bu kullanıcı için varsayılan olarak atamanız gerekiyor. Bunun için "Default Database"e tıklayarak, kendi veritabanınızı seçin.



En son olarak, kullanıcı oluşturma penceremize iki küçük ayar yapıyoruz. İlki "Server Roles" sekmesinde "sysadmin"i seçiyoruz.


İkinci olarak da, "User Mapping" sekmesinden, varsayılan olarak atadığımız veritabanını seçiyoruz.

Hiç yorum yok:

Yorum Gönder