IIS 7.0 Access veritabanında bağlandığı bir ASP sayfası için istekte bulunduğunuzda, hata iletisi: "Microsoft JET veritabanı alt yapısı hatası '80004005'"

Makale çevirileri Makale çevirileri
Makale numarası: 926939 - Bu makalenin geçerli olduğu ürünleri görün.
Önemli Bu makalede, güvenlik ayarlarını düşürmenize veya yardımcı olacak bir bilgisayarda güvenlik özellikleri devre dışı bırakma hakkında bilgiler içerir. Bu değişiklikleri, belirli bir soruna geçici çözüm bulmak için yapabilirsiniz. Bu değişiklikleri yapmadan önce, bu geçici çözümün çalışma ortamınızda uygulanmasıyla ilişkili riskleri değerlendirmeniz önerilir. Bu geçici çözümü uygularsanız, bilgisayarınızın korunmasına yardımcı olabilecek ek adımları da gerçekleştirin.
Hepsini aç | Hepsini kapa

Belirtiler

Şu senaryoyu inceleyin. Microsoft ınternet ınformation Services (IIS) 7.0 çalıştıran Web sunucusunda, bir veritabanına bağlanan bir etkin sunucu sayfası (ASP) ana bilgisayar. ASP sayfası veri sağlayıcısı Microsoft.Jet.OLEDB.4.0 veri sağlayıcısı ' dir. ASP sayfa veri kaynağı, Microsoft Access veritabanı (.mdb) dosyası olan. Bu senaryoda, ASP sayfası için istekte bulunduğunuzda aşağıdaki hata iletisini alabilirsiniz:
Microsoft JET veritabanı alt yapısı hatası '80004005'
Belirlenemeyen hata
Not Aşağıdakilerin her ikisini de kullanırken benzer bir hata iletisi karşılaşırsınız:
  • Microsoft Access veritabanını Access 2007 dosya biçiminde (.accdb)
  • Microsoft.ACE.OLEDB.12.0 veri sağlayıcısı

Neden

IIS 7.0, bir uygulama havuzu kimliği için geçerli kullanıcı profilini yüklemek için yapılandırılırsa, bu sorun oluşabilir. Geçerli kullanıcının geçici dizini için yazma işlemi için yeterli izinlere sahip olduğundan bu uyumluluk sorunları eski ASP tabanlı uygulamalar ve ADO tabanlı uygulamaların neden olabilir.

Çözüm

Bu sorunu gidermek için <a0></a0>, işlem kimliği için bir geçici dizine doğru erişim denetim girdilerini eklemeniz gerekir. Bunu yapmak için, aşağıdaki adımlardan işletim sisteminize uygun olanları izleyin.

Windows Server 2008 ve Windows Vista SP1 veya sonraki sürümleri

Windows Server 2008 veya Windows Vista SP1 veya sonraki sürümleri çalıştıran IIS 7.0 Web sunucusunda bu sorunu gidermek için <a0></a0>, aşağıdaki adımları izleyin:
  1. Başlat ' ı tıklatın, Programlar ' ı tıklatın, Donatılar ' ı tıklatın, komut istemi ' ni sağ tıklatın ve sonra da <a2>yönetici olarak çalıştır</a2>'ı tıklatın.
  2. Yönetici parolası girmeniz veya bir onaylamanız istendiğinde, parolayı yazın veya devam ' ı tıklatın.
  3. Aşağıdaki komutu yazın ve ENTER tuşuna basın:
    icacls %SystemDrive%\Windows\Temp /grant Users:(CI)(S WD, AD, X)

    Not Bu komut, her kullanıcının geçici dizini, dosyaları ve dizinleri oluşturmak etkinleştirir.
  4. Aşağıdaki komutu yazın ve ENTER tuşuna basın:
    icacls %SystemDrive%\Windows\Temp /grant "OLUşTURAN OWNER":(OI)(LE)(GÇ)(F)

    Not Geçici bir dizinde bir dosya veya dizin oluşturan kullanıcı, OLUşTURAN SAHIBI olur. OLUŞTURAN SAHIP erişim denetim girdisi, bir kullanıcı denetimini dosya veya dizin verir. OLUŞTURAN SAHIP olmadığınız için diğer kullanıcıların bu dosyaları ve dizinleri erişemiyor.
Windows Vista RTM

Windows Vista RTM üzerinde çalışan bir IIS 7.0 Web sunucusunda bu sorunu gidermek için <a0></a0>, aşağıdaki adımları izleyin:
Not Varsayılan olarak Windows Vista RTM, işlem kimliği NetworkService olduğundan ve % windir%\ServiceProfiles\NetworkService\AppData\Local\Temp geçici dizinidir.
  1. Başlat ' ı tıklatın, Programlar ' ı tıklatın, Donatılar ' ı tıklatın, komut istemi ' ni sağ tıklatın ve sonra da <a2>yönetici olarak çalıştır</a2>'ı tıklatın.
  2. Yönetici parolası girmeniz veya bir onaylamanız istendiğinde, parolayı yazın veya devam ' ı tıklatın.
  3. Aşağıdaki komutu yazın ve ENTER tuşuna basın:
    icacls %windir%\serviceprofiles\networkservice\AppData\Local\Temp /grant Users:(CI)(S WD, AD, X)

    Not Bu komut, her kullanıcının geçici dizini, dosyaları ve dizinleri oluşturmak etkinleştirir.
  4. Aşağıdaki komutu yazın ve ENTER tuşuna basın:
    icacls %windir%\serviceprofiles\networkservice\AppData\Local\Temp /grant "OLUşTURAN OWNER":(OI)(LE)(GÇ)(F)

    Not Geçici bir dizinde bir dosya veya dizin oluşturan kullanıcı, OLUşTURAN SAHIBI olur. OLUŞTURAN SAHIP erişim denetim girdisi, bir kullanıcı denetimini dosya veya dizin verir. OLUŞTURAN SAHIP olmadığınız için diğer kullanıcıların bu dosyaları ve dizinleri erişemiyor.

Pratik Çözüm

Bu sorunu gidermek için <a0></a0>, "Çözüm" bölümünde açıklanan yöntemi kullanın. Ancak, işlem kimliği için bir geçici dizine erişim denetim girdilerini eklemek isterseniz, uygulama havuzu için loadUserProfile özelliği devre dışı bırakarak bu sorunu çalışabilirsiniz. Bu özelliği devre dışı bırakıldığında, IIS 7.0 için uygulama havuzu geçerli kullanıcı profilini yüklemez.

Önemli Bu özelliği devre dışı bırakırsanız, bir güvenlik riski de oluşturulabilir. Anlamak ve bu geçici çözümü uygulamadan önce riskleri değerlendirmeniz emin olun.

Uygulama havuzu için loadUserProfile özelliği devre dışı bırakmak için <a0></a0>, ApplicationHost.config dosyasını değiştirin. Aşağıdaki örnek, bunun nasıl yapılacağını gösterir.
<applicationPoolDefaults>
    <processModel identityType="NetworkService" loadUserProfile="false" />
</applicationPoolDefaults> 

Referanslar

Geçici hakkında daha fazla bilgi için bir ASP sayfasında bir veritabanı sorgusu çalıştırdığınızda dizin izinlerini Microsoft Knowledge Base'deki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
315456FrontPage'de bir ASP sayfasından veritabanına bağlandığınızda, bir veritabanı sonuçları hata iletisi alıyorsunuz
Microsoft Access veritabanları, IIS 7. 0'ı ve <a1>IIS</a1> 7.5 klasik ASP kullanma
http://learn.iis.net/page.aspx/563/using-classic-asp-with-microsoft-access-databases-on-iis-70-and-iis-75/

Özellikler

Makale numarası: 926939 - Last Review: 12 Mart 2009 Perşembe - Gözden geçirme: 4.0
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Internet Information Services 7.0
Anahtar Kelimeler: 
kbmt kbtshoot kbprb KB926939 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:926939

Geri Bildirim Ver

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com