Olası OLE DB Hataları ve Çözümleri

Veri tabanı ile kodlarımızı ilişkilendirirken çok sık karşılaşabileceğimiz bağlatı hataları ve çözümlere değinmek istedim bu dersimizde.

Merhabalar,

Veri tabanı ile kodlarımızı ilişkilendirirken çok sık karşılaşabileceğimiz bağlatı hataları ve çözümlere değinmek istedim bu dersimizde.

Öncelikle Local Makinamızda hata sayfalarını görüntüleyebilmek için, yönetimsel araçlardan IIS ayarlarımızı düzenlememiz gerekir.

Şimdi yapmış olduğumuz projemizi test edelim ve bu hatalara bakalım.

Hata: Microsoft OLE DB Provider for ODBC Drivers error '80004005' Operation must use an updateable query.

Anlamı: Veritabanınızın bulunduğu klasörün yazma izninin olmaması durumlarında bu sorunla karşılaşılmaktadır.
Klasöre yazma izni vermeniz durumunda hata ortadan kalkar.


Örnek: 

Microsoft OLE DB Provider for ODBC Drivers error '80004005' 



[Microsoft][ODBC Driver Manager] Program type out of range 



/admin/index.asp, line 4131




Hata: Microsoft OLE DB Provider for ODBC Drivers error '80004005' The Microsoft Jet database engine cannot open the file '(unknown)'. It is already opened exclusively by another user, or you need permission to view its data.

Anlamı: Kendi bilgisayarınızda çalışırken aynı zamanda veritabanı dosyanız açık ve üzerinde bir takım düzenlemeler yapıyorsanız asp sayfanız böyle bir hata verebilir. Açtığınız veritabanını kapattığınızda sorun gider.


Hata: ADODB.Recordset error '800a0bb9'
The application is using arguments that are of the wrong type, are out of acceptable range, or are in conflict with one another.

Anlamı: ADODB.Connection ile Recordset nesnesinde kullandığınız veritabanı bağlantı değişkenleri aynı değilse böyle bir hata oluşabilir.
Değişken isimlerindeki gerekli düzeltmeleri yaparak sorundan kurtulabilirsiniz. [Lütfen değişkelerinizi atarken dikkat edin çakışabilir.]


Hata: Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
Number of query values and destination fields are not the same.

Anlamı: Insert Into ifadenizdeki veri sayısı ile tablonuzdaki alan sayısı birbirinden farklı olabilir.


Hata: Microsoft OLE DB Provider for ODBC Drivers error '80040e10' Too few parameters. Expected 1.

Anlamı: SQL ifadesindeki where yada order by ifadelerinden birinde bir hata var. [SQL sorgu cümleciğinizi gözden geçirmeniz gerekiyor.]


Hata: ADODB.Fields error '800a0cc1'
ADO could not find the object in the collection corresponding to the name or ordinal reference requested by the application.

Anlamı: SQL ifadesindeki alan adlarından en az birinde hata var.


Hata: ADODB.Field error '80020009'
Either BOF or EOF is True, or the current record has been deleted; the operation requested by the application requires a current record.

Anlamı: İstediğiniz ifade, veritabanında mevcut olmayabilir. [Veri tabanımızda kayıt olup olmadığına dair kontrol koymamış isek hata oluşacaktır.]


Hata: Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
Syntax error (missing operator) in query expression '...'

Anlamı: Syntax ifadesinde tek yada çift tırnakların yanlış kullanımından kaynaklanan bir sorun var. [' veya "]


Hata: Microsoft JET Database Engine hata '80004005' 'c:musteri.mdb' dosyası bulunamadı.

Anlamı: Veritabanına yapılan bağlantıda bir hata var. Veritabanı adını yada yolunu kontrol edin.


Hata: ADODB.Connection hata '800a0e7a' Sağlayıcı bulunamıyor. Düzgün yüklenmemiş olabilir.

Anlamı: Bağlantı nesnesi oluştururken noktalamalarda bir hata yapılmış olabilirsiniz.


Hata: Microsoft OLE DB Provider for ODBC Drivers hata '80004005' [Microsoft][ODBC Driver Manager] Veri kaynağı adı çok uzun

Anlamı: Bağlantının açıldığı bölümde eksik yada hatalı bir ifade kullanmış olabilirsiniz. Alan isimlerini kontrol edin.


Hata: Microsoft JET Database Engine hata '80040e37'
Microsoft Jet veritabanı alt yapısı 'Siparisler' giriş tablosunu veya sorgusunu bulamadı. Tablo veya sorgunun varolduğundan ve adın doğru yazıldığından emin olun.

Anlamı: Yanlış bir tablo adı kullanıyorsunuz. Veritabanındaki bilgiler ile kontrol edin. [Siparisler diye bir tablo olmayabilir. Kontrol edelim.]


Hata: Microsoft JET Database Engine hata '80040e10' Gerekli bir veya daha fazla parametre için girilen değer yok.

Anlamı: Veritabanında istediğiniz isimde bir tablo bulunamadı.


Hata: Microsoft JET Database Engine hata '80040e14' 'Current' sorgu ifadesi içindeki Sözdizimi hatası (eksik işleç)

Anlamı: SQL sorgu ifadesinde yanlış bir işaretleme yada kodlama yapmış olabilirsiniz. Tek ve çift tırnaklara dikkat. [',"]


Hata: Microsoft VBScript derleme hatası (0x800A0409)
Sonlandırılmamış dize sabiti

Anlamı: Bağlantı noktasını kapatmamış olabilirsiniz. Dize sonlarını kapattığınızdan emin olun. [Bunlar Recordsetler için önemlidir. Kapatmaya özen gösterin.]


Hata: Microsoft VBScript çalışma hatası hata '800a01b6' Nesne bu özellik veya yöntemi desteklemiyor: 'EO'

Anlamı: Geçersiz bir nesne yada metod kullanmışsınız. Kontrol ederek tekrar deneyin.


Sizde karşılaştığınız farklı hataları belirtin, çözümlerine birlikte bakalım. Kolay gelsin.
  • Etiketler;
Yorum Yaz

Yorum yazabilmek için üye girişi yapmanız gerekiyor!

• 11 yıl önce
Beklenmedik bir hata oluştu birden fazla adımlı ole db işlemi hatalar oluşturdu.olası ise her ole db değerini denetleyin.iş yapılamadı. bu sorunu nasıl giderebilirim ?
• 11 yıl önce
direk hata aldığın şeklinde yazarmısın? buraya..
ELLERİNİZE SAÐLI
BENİM HATA UYARISI "GENERAL FAULT ERROR 0114" BU NE OLABİLİR
• 11 yıl önce
iyi günler sizlerle acces veri tabanımda aldığım hatamı paylaşmak isterim ve tabii bilen varsa çözümünüde öğrenmek isterim OleDbCommand sorgu = new OleDbCommand(); sorgu.Connection = baglanti; sorgu.CommandText="insert into o_bilgiler(Adiniz,Soyadiniz,Urun_Adresi,Cep_Tel,Ev_Is_Tel,E_posta)values(@Adiniz,@Soyadiniz,@Urun_Adresi,@Cep_Tel,@Ev_Is_Tel,@E_posta)"; sorgu.ExecuteNonQuery(); sorgu kodum bu hata:Gerekli bir veya daha fazla parametre için girilen değer yok.
• 11 yıl önce
öncelikle merhabalar... ve elinize sağlık gerçekten yaralı bir çalışma yapmışsınız.. teşekkürler..
• 10 yıl önce
Arkadaslar herkese merhaba. Öncelikle Asp ile aram pek iyi değil.Herseyden once bunu belirtmek istiyorum..Daha onceden yapılmış bir sitede problem yaşıyorum..Admin panelinden giriş yapıp bi haber eklemek istedigimde ; Microsoft JET Database Engine error '80004005' Operation must use an updateable query. /yonetim/haberlist.asp, line 44 hatası alıyorum..Biraz araştırdm..Dosyalara verilen yazma yetkisi ile alakalı oldugu hakkında bircok bilgi buldum..DB klasorune IIS , Network Security ve Everyone kullanıcılarını ekleyip "write" segmesini enable hale getirdim..Ama hala aynı hatayı alıyorum..Daha sonra tahmin yürüterek Haberlist.asp dosyasının 44'uncu satırında olanları ve tam paragrafı buraya aktarıyorum.. If Not Isnumeric(ID ) = False Then sSQL = Empty sSQL = sSQL & " UPDATE Haber SET" sSQL = sSQL & " Baslik ='" & Baslik & "',Baslik_ENG ='" & Baslik_ENG & "',Metin ='" & Metin & "',Metin_ENG ='" & Metin_ENG & "',HKResim ='" & HKResim & "',HBResim ='" & HBResim & "'" sSQL = sSQL & " WHERE ID =" & ID Conn.Execute(sSQL ) => 44.Satır Response.Redirect "haberlist.asp" Else Yardımlarınız için şimdiden teşekkürler..
• 6 yıl önce
benm aldıgım hata bu Microsoft OLE DB Provider for ODBC Drivers hata '80040e21' [Microsoft][ODBC Microsoft Access Sürücüsü]Geçersiz duyarlýlýk deðeri /websitem/kayýt.asp, satır 52 access veri tabanı kullanarak dreamviewer üzerinden asp site tasarımı yapıyorum ve bu işte henüz yeniyim suana kadar 10 sayfa tasarlamışımdır ve burada yazılan hataların %80 kadarını gördüm :) 51-- MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param3", 202, 1, -1, Request.Form("grup")) ' adVarWChar 52-- MM_editCmd.Execute 53-- MM_editCmd.ActiveConnection.Close
• 6 yıl önce
iki ayrı tabloyu sorgu ile çektim ve insert yaptığımda (güncelleştirilemiyor; alan güncelleştirilebilir değil.) hatası almaktayım veritabanından nerelere düzenlemek gereklidir.

Yukarı Git