Açıklama

Microsoft .NET Framework için ArcGIS Server Manager’da, farklı bir web sunucu makinesinde bir web uygulaması oluşturmak mümkündür. Bu Web uygulaması, Manager’da uygulamaya erişim için izin verilen rollerle güvenli hale getirilebilir. Kullanıcılar Web uygulamasında oturum açtığında tarayıcı bir hata mesajı ile dönebilir. Tarayıcı uygulamayı barındıran web sunucusunda çalışmıyorsa genel bir hata mesajı döndürebilir. Eğer tarayıcı web sunucusunda çalışıyorsa aşağıdaki hata mesajı ile karşılaşabilirsiniz.
 
Error: “Cannot open database “<database>” requested by the login. The login failed. Login failed for user ‘<user name>’.”
 
<user name> kısmı Network servisi veya ASPNET’tir.
 

Sebep

Bu hata, ArcGIS Server için yapılandırılmış kullanıcı deposu Microsoft SQL Server’da ya da özel bir sağlayıcıda yer alıyorsa ortaya çıkabilir.. Hatanın nedeni, Manager uygulamasında tanımlanan kullanıcı deposuna, farklı bir makinede IIS Web sunucusunda çalışan Web uygulaması tarafından erişilememesidir.
 
Spesifik olarak problem, SQL Server’ı çalıştıran makine adının doğru şekilde belirtilmemiş olmasından veya SQL Server’a ya da özel sağlayıcıya erişen hesap için yanlış izinlerden kaynaklanıyor olabilir.
 

Çözüm

Hatanın çözümü için aşağıdaki işlem adımlarından birini veya ikisini bir arada yapmanız gerekebilir:
 
  1. Veri tabanı için makine adının veya konum bilgisinin doğru şekilde yeniden girilmesi
  2. Uygulamayı çalıştıran hesap için gerekli izinlerin atandığının teyit edilmesi
Aşağıda yer alan adımlar SQL Server sorununu ele almaktadır. Özel bir sağlayıcı kullanıyorsanız ve benzer problem ile karşılaşıyorsanız, sağlayıcı konumu ve izinlerini yapılandırma işlemleri için benzer noktaları incelemeniz gerekmektedir.
 
  1. Hatanın ilk nedeni SQL Server’ın makine adını uzak makinenin bulamıyor olması olabilir. Bu noktayı çözmek için aşağıdaki adımları takip ediniz:
    1. ArcGIS Server Manager’a giriş yapın.
    2. Security (Güvenlik) > Settings (Ayarlar) sekmesine gelin ve Configure (Yapılandır) tıklayın.
    3. Security (Güvenlik) sihirbazında, ilk panel SQL Server olarak ayarlanmış olmalıdır. Ardından Next’e (İleri) tıklayın.
    4. Specify SQL Server panelinde, Server için belirlenen değeri inceleyin. Bu değer, uzak makinenin bulabilmesi için sunucu adını belirtmelidir. Bu ad “.” veya “localhost” gibi ifadeler içermemelidir.  Teyit edebilmek için uygulamanın konumlandığı uzak web sunucusunun adı (veya IP adresini) kullanarak SQL Server’a erişimi test edebilirsiniz.S QL Server makine adı, uzak Web sunucusunun erişim için kullanabileceği bir ad olarak zaten ayarlanmışsa, aşağıdaki 2. adıma geçin. Aksi takdirde, gerekirse SQL Server makine adını veya IP adresini kullanarak ayarı güncelleyin.
    5. SQL Server adını güncellediyseniz, Connect’e (Bağlan) tıklayın ve güncellenen değerleri kaydetmesi için sihirbazı kapatın.
    6. Applications (Uygulamalar) sekmesine gidin ve uzak web uygulaması için Permissions (İzinler) butonuna tıklayın.
    7. Permissions diyalog kutusunda, Save’e (Kaydet) tıklayın. Bu işlem güncellenen SQL Server adını Web uygulaması için yeniden yapılandıracaktır.
    8. Bir tarayıcı penceresi açın ve web uygulamasına giderek giriş yapın. Başarılı bir şekilde giriş yapıp uygulamayı kullanabiliyorsanız aşağıda yer alan adımları uygulamanıza gerek yoktur. Eğer izinlerle ilgili bir hata ile karşılaşıyorsanız, 2. adımda aktarılan işlemleri takip ediniz.
  2. SQL Server veri tabanı bağlantısı, Web uygulamasının veri tabanına erişim izni olacak şekilde yapılandırılmalıdır.
      Burada aktarılan yaklaşım, veri tabanına bağlanmak için Windows kimlik doğrulaması (Windows authentication) yerine bir SQL oturumu kullanmaktır. Web uygulamasının bağlantısı için bir SQL oturumunu ayarlamak ve web uygulamasının kimlik doğrulamasını değiştirmek için aşağıdaki adımları izleyiniz.
 
  1. SQL Server Management Studioyu açın ve SQL Server instance’ına bağlanın. SQL Server Express için gerekiyorsa SQL Server Management Studio Express‘i yükleyin.
  2. SQL Server Express için SQL girişlerine izin verin. Bunu sol paneldeki sunucu ağacından (<servername>SQLEXPRESS) ilgili sunucuya sağ tıklayarak, Properties penceresini açın. Properties (Özellikler) penceresinde Security (Güvenlik) sayfasına tıklayın. Security panelinde, Server authentication (sunucu yetkilendirmesi) altında SQL Server and Windows Authentication mode‘u belirtin. Ayarları kaydetmek için OK butonuna tıklayın ve Properties diyalog kutusunu kapatın.
  3. Yeni bir SQL girişi eklemek için Security klasörünü genişleterek Logins klasörüne tıklayın. Logins klasörüne sağ tıklayarak New Login seçeneğiyle ilerleyin. Açılan diyalog penceresinde yeni bir giriş adı belirtin (örn. AGSAApplications). SQL Server Authentication seçeneğine tıklayın, bir parola girin ve ardından parolayı doğrulayın.
  4. Aynı giriş penceresinden User Mapping sayfa bağlantısına tıklayın. Users mapped to this login altından, ArcGIS Server için kullanıcıları içeren veri tabanının yanındaki onay kutusuna tıklayın. İletişim kutusunda veri tabanının vurgulandığından emin olun, ardından Database role membership for: <database> için db_owner rolünü işaretleyin. Yeni girişi ve rolü oluşturmak için OK’a tıklayın. SQL Server Management Studio’yu kapatın.
  5. ArcGIS Server Manager’a giriş yapın, Security > Settings > Configure yolunu izleyerek yapılandırma sayfasına gelin.
  6. Security sihirbazında, SQL Server for the user location seçeneğine tıklayın. Ardından gerekiyorsa Next’e (İleri) tıklayın.
  7. Specify SQL Server panelinde, “.” veya “localhost” kullanmadan SQL Server adını girin.  SQL Server’a bağlanmak için Connect’e tıklayın.
  8. İletişim kutusunun alt kısmında yer alan Use Trusted Connection kutucuğundaki işareti kaldırın. SQL Server girişi için oluşturduğunuz kullanıcı adı ve şifre bilgisini giriniz. Use existing database açılır penceresinden veri tabanını seçin. Next‘e tıklayarak sihirbazdaki işlemleri tamamlayın.
  9. Applications (Uygulamalar) sekmesine gidin ve ilgili web uygulaması için Permissions (İzinler) butonuna tıklayın.
  10. Permissions iletişim kutusunda, Save’e tıklayın. Böylelikle web uygulaması için güncellenmiş SQL Server giriş yapılandırmasını kaydetmiş olacaksınız.
  11. Bir tarayıcı peneresi açın ve web uygulamasına giriş yapın. Başarılı bir şekilde oturum açabilir ve uygulamayı görüntüleyebilirsiniz. Eğer bu aşamada da izinlerle ilgili bir hata ile karşılaşıyorsanız SQL Server girişi ve Manager üzerindeki yapılandırmaları yeniden gözden geçirin.

Faydalı Bağlantılar

  1. https://support.esri.com/en/technical-article/000010348
 
 
 
Geri Bildirim