ASP 'de Karşılaşabileceğiniz bazı hata mesajları ve çözüm yolları

Kodla Büyü

basbag

Seçkin Üye
Seçkin Üye
Mesajlar
566
Microsoft VBScript compilation (0x800A03FB)
Expected 'Loop'
Hata Nedeni :
Bu hatayu Do döngüsüne başladıktan sonra döngünün devam etmesi için Loop komutunu koymadığınızdan dolayı alırsınız.
Hata Çözümü :
Do.. döngüsünün başladığı noktayı takip edin ve gereken yere Loop komutu yerleştirerek sorunu çözün.

• Subscript out of range (0x800A0009)
Hata Nedeni :
Split ile böldüğünüz Dizide olmayan bir rakam'ı kullanmaya çalışırsanız bu hatayı alırsınız.
Örnek vermek gerekirse
<%
strYazi = "ASPRehberi.Net"
strDizi = Split(strYazi,".")
Response.Write strDizi(5)
%>
Burada 0 ve 1. olmak üzere 2 adet verimiz vardır.Bunlar ASPRehberi(0 ve Net(1) dir.Burada bunların üstünde bir rakam kullanırsanız bu hatayı alırsınız ve size yazmış olduğunuz rakam ile ilgili olarak hata mesajı yazdırır.Buradaki örneğe göre :
Subscript out of range: '[number: 5]'
gibi bir hata çıkmaktadır.
Hata Çözümü :
Böldüğünüz değerde olmayan veriyi kullanmadığınızdan emin olun.Verilen hata mesajındaki rakam'a ve satır'a göre hatayı bulup düzeltebilirsiniz.

• Server.CreateObject Failed (800401f3)
Hata Nedeni :
Sunucunuzda yüklü olmayan bir bileşeni kullanmaya çalışırken bu hatayı alabilirsiniz.
Hata Çözümü :
Kullanmak istediğiniz bileşeni sunucunuza yüklemelisiniz.

• Too Few Parameters,Expected 1
Hata Nedeni :
Bu hatayı genelde sql komutunuzu yanlış yazdığınızda alırsınız.
Mesela :
<% sql = "select * from tablo WHERE id ="&id&" " %>
derseniz ve eğer id diye bir alan yoksa bu hatayı alabilirsiniz.
Hata Çözümü :
Sql komutunu baştan yazmayı deneyin ve yazdığınız alan isimlerinin doğruluğundan emin olun.

• General error unable to open registry key (80004005)
Hata Nedeni :
Eger bu hatayı alıyorsanız.Database yolunuzu yanlış girdiğinizden dolayı alıyorsunuzdur.
Hata Çözümü :
Database yolunun doğru olduğundan emin olun.

• Syntax error (missing operator) in query expression (0x80040E14)
Hata Nedeni :
Bu hatayı genelde eğer database de querystring ile aldığınız alanı seçtirmek isterken alırsınız.Yani anlamı id no yu doğru alamadığınızdan dolayıdır.
Hata Çözümü :
Sayfada id no yu nasıl aldığınız bir daha kontrol edin ve ona göre asp kodunu yazın.

• Cannot update. Database or object is read-only (80004005)
Hata Nedeni :
Bu hatayı db nizin olduğu işlem yaptığınız klasörde eğer yazma izni yoksa alırsınız.
Hata Çözümü :
Bu problemin çözümü için hosting'i sağlayan kişiyle bağlantıya geçip klasörünüze yazma izni vermesini söylemeniz lazım.
Sitemizde Makaleler kategorisinde "IIS ve Yazma İzni" konusunu bulabilirsiniz

• Expected 'End' (800a03f6)
Hata Nedeni :
Açmış olduğunuz If döngüsünü kapamamış olabilirsiniz.
Hata Çözümü :
If döngülerinizi tekrardan gözden geçirin.Hata da gösterilen satıra end if yazmayı deneyin.

• Expected statement (800A0400)
Hata Nedeni :
Açmış olduğunuz ASP tag'ını kapamamış olabilirsiniz.
Hata Çözümü :
ASP tag lerini gözden geçirin.<% %> taglerinin eşit sayıda olduğundan emin olun.

• Expected End of Statement (BC30205)
Hata Nedeni :
ASP kodlarını belirten <% ASP kodu %> açma kapama imleç lerini yanlış kullandığınızdan dolayı olur.
Hata Çözümü :
ASP kodunun bittiği yere %> koyduğunuza emin olun.Veya fazladan <% olmadığından emin olun.

• Permission Denied (800a0046)
Hata Nedeni :
Sunucunuzda FSO desteği pasif durumdayken FSO(File System Object) kullanmaya çalışırken alırsınız.
Hata Çözümü :
FSO desteğini açmak için klasörlerinize yazma izni ve tam kontrol vermelisiniz.Sitemizde "IIS ve Yazma İzni" makalesinde bunu detaylı olarak görebilirsiniz.Sunucunuzda çalıştırmak için hosting sağlayıcınızla iletişim kurmalısınız.

• loop without do (800a040e)
Hata Nedeni :
Bu hatayı eğer bir döngünün devam etmesini belirtmiş ve nerden başlayacağını belirtmediyseniz alırsınız.
Hata Çözümü :
Döngüye girmesini istediğiniz yerin başına
<% do while not recordset.eof %>
kodunu koyarak bu sorunu çözersiniz.

• The Microsoft Jet database engine cannot find the input table or query tablo. Make sure it exists and that its name is spelled correctly. (80040e37)
Hata Nedeni :
Adında anlaşılacağı gibi bir tablo'yu açarken tablo'yu bulamadığını belirtiyor
Hata Çözümü :
Tablo'nun database'inizde olduğundan emin olun.

• Yanit nesnesi error Üstbilgi hatasi (80004005)
Hata Nedeni :
Hatayı aşağıda ki kodu sayfanınızın başına koyarak düzeltebilirsiniz.
Hata Çözümü :
<% Response.buffer = True %>

• Object Required (0x800A01A8)
Hata Nedeni :
Adındanda anlaşılacağı üzere degişken kullanmışsınız fakat degişken tanımlı değildir.
Hata Çözümü :
Değisken'i tanımlayarak ve dogru olarak kullanarak bu sorunu çözersiniz.

• Operation don't allowed when object is closed (0x800A0E78)
Hata Nedeni :
Bu hatayı DB'den veri sildikten sonra değişkeni kapatırsanız alırsınız.
Hata Çözümü :
DB'den veri sildikten sonra
<%
rs.close
set rs = nothing
%>
kodunu kaldırarak çözebilirsiniz.

• Type mismatch (0x800A000D)
Hata Nedeni :
isim yazan yerde sub(altsayfa) adı olabilir.Eğer bu hatayı alıyorsanız isim(sizinkine göre değişir) adlı sub'ı tanıtmamışsınız demektir.
Hata Çözümü :
ısim adlı sub'a gitmek için "islem" değişkenini kullanacağım.
Sayfanızın başına şu kodları yerleştirin:
<%
If islem = "isim" then
call isim
end if
%>

• Data type mismatch in criteria expression (80040e07)
Hata Nedeni :
Bu hatayı sql komutunuzda yanlış seçim yaparak alırsınız.Mesela veritabanınızda bir alana numara(değeri number olan) alana yazı eklemeye çalışırsanız bu hatayı alırsınız.
Hata Çözümü :
Veritanınızdaki data türü'nü değiştirerek sorunu çözebilirsiniz.

• Unspecified Error (Belirtilmemiş Hata) (0x80004005)
Hata Nedeni :
Bu hatayı almanız için geçerli bir neden yoktur.Web üzerindeki bir sunucuda genellikle almazsınız, genelde localhost'da rastlarsınız.
Hata Çözümü :
Veritabanı ismini değiştirerek bu sorunu çözebilirsiniz.Veritabanınız olan .mdb dosyasının ismini değiştirmeniz ve bağlantınızı ona göre ayarlamanız yeterli olacaktır.


alıntıdır.
 
Geri
Üst