Zoque.Forum
»
Microsoft OLE DB Provider for ODBC Drivers (0x80040E21) Çözüm bulamadım.
|
![]() |
|
|
LinkBack | Seçenekler |
|
|
#1 (permalink) |
|
Üyelik Tarihi: 10.11.2007
Yer: Durdu
Yaş: 21
Mesaj: 9
|
Microsoft OLE DB Provider for ODBC Drivers (0x80040E21) Çözüm bulamadım.
Öncelikle herkese hayırlı geceler.
MySQL database kullanarak bir ürün katoloğu şeklinde sipariş verebilen bir sistem üzerinde çalışıyorum. Fakat sepete_ekle.ASP sayfamda şu hata ile karşılaştım. [Hata] Microsoft OLE DB Provider for ODBC Drivers (0x80040E21) Birden fazla adımlı OLE DB işlemi hatalar oluşturdu. Olası ise, her OLE DB durum değerini denetleyin. İş yapılmadı. [/Hata] İnternette yaptığım araştırmalarda bir sonuca varamadım ve ingilizcem yeterli düzeyde olmadığı için de yabancı sitelerden de sorunumu çözecek bir bilgiye ulaşamadım. Hatayı veritabanına kayıt eklerken (urun adını sepet tablosuna eklerken) alıyorum. Sepet tablomda urun_adi sütunumun özelliği VarChar 255 başka da ne söylemem gerektiğini bilmiyorum yardımcı olursanız çok sevinirim. Şimdiden hepinize teşekkürler. Mesaj Cdurdu tarafından 16.11.2007 (20:29) yeniden düzenlendi.. Açıklama: Kelime hatası. |
|
|
|
|
|
#2 (permalink) |
|
Üyelik Tarihi: 14.10.2007
Yer: KOCAELİ
Mesaj: 391
|
Re: Microsoft OLE DB Provider for ODBC Drivers (0x80040E21) Çözüm bulamadım.
0x80040E21 hata kodu ile arama yaptın mı? Türkçe kaynak çıkar diye umuyorum çünkü.
Muhtemelen kaydetmeye çalıştığın tabloya uzun bir veri giriyorsun. |
|
|
|
|
|
#3 (permalink) |
|
Üyelik Tarihi: 09.12.2000
Yer: istanbul
Yaş: 30
Mesaj: 1,872
|
Re: Microsoft OLE DB Provider for ODBC Drivers (0x80040E21) Çözüm bulamadım.
ilk aklıma gelen muhtemel hata sebepleri;
1. 255 karakterden fazla bir veriyi 255 kapasiteli bir alana kaydetmeye çalışıyorsunuz. 2. SQL'inizdeki alan adlarında bir çakışma sözkonusu. kodlarınızın örneklerini yazarsanız daha fazla yardımcı olabiliriz.
__________________
"oturduğum mahallenin yolları çamurluydu, boyalı ayakkabı giysem bile, o yollardan geçtikten sonra çamurlanmamaları mümkün değildi. hayatım da böyle." yılmaz güney http://www.sipidik.com |
|
|
|
|
|
#4 (permalink) |
|
Üyelik Tarihi: 10.11.2007
Yer: Durdu
Yaş: 21
Mesaj: 9
|
Re: Microsoft OLE DB Provider for ODBC Drivers (0x80040E21) Çözüm bulamadım.
Yok eklemeye çalıştığım kelime 7 karakter . Bu yüzden sanırım birincisi değil fakat
2. seçenek olabilir. Kodları aşağıya yazdım sub kullanıyorum ve ekleme yapılan bölüm şöyle. Kod:
sub ekle urunid = request.form("urun") gamtablo = request.form("gam") set objUrun = bag.execute("select * from "&gamtablo&" WHERE id = "& urunid &"") urunadi = objUrun("adi") set objRS = server.createobject("ADODB.Recordset") strsql = "Select * from tblsepet" objRS.open strsql,bag,1,3 adet= request.form("adet") brm_fyt =objUrun("brm_fiyat") toplam_bedel = adet * brm_fyt objRS.addnew objRS("fldurunadi")=urunadi objRS("adet")=adet objRS("fldfiyat")=toplam_bedel objRS("fldSID")=session.sessionID ' Kimin sepeti olduğunu tanımak için objRS.update response.Redirect("sepete_ekle.ASP?islem=sepet") end sub [Hata] Microsoft OLE DB Provider for ODBC Drivers (0x80004005) [Microsoft][ODBC Driver Manager] Geçersiz dize veya arabellek uzunluğu [/Hata] İlginiz için ikinize de çok teşekkür ederim arkadaşlar umarım çözeriz. Mesaj Cdurdu tarafından 16.11.2007 (22:29) yeniden düzenlendi.. Açıklama: Kelime hatası! |
|
|
|
|
|
#5 (permalink) |
|
Üyelik Tarihi: 09.12.2000
Yer: istanbul
Yaş: 30
Mesaj: 1,872
|
Re: Microsoft OLE DB Provider for ODBC Drivers (0x80040E21) Çözüm bulamadım.
verilen hata veritabanı sorunu gibigeliyor.
bir yöntem sınarmısınız; ilk recordset'i açtığınızda, gerekli verileri değişkenlere alarak recordset'i kapatın, yeni recordset'te bu değişkenleri kullanın. Kod:
sub ekle urunid = request.form("urun") gamtablo = request.form("gam") urunadi = "" brm_fyt = 0 set objUrun = = server.createobject("ADODB.Recordset") objUrun.Open "select * from "&gamtablo&" WHERE id = "& urunid, bag, 1 If objUrun.RecordCount > 0 Then urunadi = objUrun("adi") brm_fyt = objUrun("brm_fiyat") End If objUrun.Close Set objUrun = Nothing set objRS = server.createobject("ADODB.Recordset") strsql = "Select * from tblsepet" objRS.open strsql,bag, 1, 3 adet= request.form("adet") toplam_bedel = adet * brm_fyt objRS.addnew objRS("fldurunadi")=urunadi objRS("adet")=adet objRS("fldfiyat")=toplam_bedel objRS("fldSID")=session.sessionID ' Kimin sepeti olduğunu tanımak için objRS.update response.Redirect("sepete_ekle.ASP?islem=sepet") end sub
__________________
"oturduğum mahallenin yolları çamurluydu, boyalı ayakkabı giysem bile, o yollardan geçtikten sonra çamurlanmamaları mümkün değildi. hayatım da böyle." yılmaz güney http://www.sipidik.com |
|
|
|
|
|
#6 (permalink) |
|
Üyelik Tarihi: 10.11.2007
Yer: Durdu
Yaş: 21
Mesaj: 9
|
Re: Microsoft OLE DB Provider for ODBC Drivers (0x80040E21) Çözüm bulamadım.
Evet denedim fakat bu seferde 2. hatayı verdi yine yani msjı etidlemiştim ben ikinci bir msj yazmıyayım diye yukarıdaki mesajımda olduğu gibi alanın özelliğini text yaptığımda da şu hatayı alıyorum.
[Hata] Microsoft OLE DB Provider for ODBC Drivers (0x80004005) [Microsoft][ODBC Driver Manager] Geçersiz dize veya arabellek uzunluğu [/Hata] Bu arada veritananından kaynaklanabilecek ne olabilir ki acaba sizce? Ben ASP & MySQL konusunda yeniyim yani başlangıştayım veri tipleri konusunda bir hata da yapıyor olabilirim. ama alanı text yaptım başka fikirleriniz varsa paylaşırsanız çok sevinirim. Tekrar teşekkür ediyorum. |
|
|
|
Zoque'a hoşgeldiniz!