Skip to content
Home » 32bit » Could not load file or assembly ‘Oracle.DataAccess’ or one of its dependencies. Hata İletisinin Çözümü

Could not load file or assembly ‘Oracle.DataAccess’ or one of its dependencies. Hata İletisinin Çözümü

64 bit bir Windows sunucuda uygulama sunucusu olarak IIS 7 veya 7.5 çalıştırıyor ve veritabanı olarak Oracle kullanıyor iseniz uygulamanın 32 bit uyumluluğunun ayarlanmamış olması sebebiyle yukarıda belirtilen ve aşağıda daha ayrıntılı hata görüntüsü verilen problemle karşılaşmanız olası ihtimallerdendir. Bu sorunun çözümü için şu adımları uygulayabilirsiniz.

oracle_error1

Öncelikle Visual Studio ile hazırladığınız projeyi açınız.

Projeye sağ tıklayınız ve Properties deyiniz. Build sekmesinden Platform Target ı X86 ye çekip projeyi kaydedin ve projeyi yeniden derleyin.

Bu ilk adım muhtemelen çözümünüz için pek bir fayda sağlamamış olacaktır. O yüzden IIS üzerinde yapılacak düzenlemeye geçeceğiz. Bu kısımda yapılacak değişiklik projenizin uygulama sunucunuz üzerinde sorunsuzca çalışmasını sağlayacaktır.

IIS yönetim panelini açalım uygulamamızın çalıştığı Web sitesinin hangi Application Pool’a bağlı çalıştığını kontrol edelim. Daha sonrasında bu Application Pool a gelelim ve sağ tıklayarak Advanced Settings diyelim. Burada yapacağımız işlem bu Application Pool’un 32 bit işlem yürütmesine izin vermek bunun için Enable 32-bit Application False ise True yapıyoruz. İşlem sonrasında IIS i yeniden başlatmamıza gerek yok fakat yinede iisreset komutu ile IIS i yeniden başlatmayı tercih edebilirsiniz. Bu işlemlerden sonra uygulama sunucunuz başka herhangi bir sorunu olmaması halinde uygulamanızı sorunsuzca çalıştıracaktır.

IIS ile ilgili birde küçük hatırlatma yapayım. Eğer ki IIS’in bulunduğu sunucu üzerinde Exchange Server, WSUS veya Terminal Server rolü var ise bu değişiklikleri uyguladıktan sonra IIS sunucunuz ‘HTTP Error 503. The service is unavailable.’ hatası verecektir bunun sebebi bu rollerin IIS üzerinde çalıştırdıkları ve kullandıkları bazı dosyalardır. Bu hatayı alıyor iseniz öncelikle sunucunuzda bu rollerin varolup olmadığını kontrol ediniz.

Sorunun çözümleri için yine ilgili sunucu üzerine Oracle Client veya ODP.NET i kurmanız ve tnsnames.ora dosyasını Oracle sunucunuza erişimi sağlayacak şekilde konfigüre etmeniz gerekebileceğini unutmayınız.

İyi çalışmalar.