Konuyu görüntüle
IUCODERS FORUM > Programlama > .NET > .NET veri tabanı hatası
Yazar
safter


avatar

Kayıt: 18.04.2006
19.02.2008-00:41 #38423
ya visual studio çalıştırıyo ama localhost ta çalıştırırken şöyle bi hata veriyo kod..


Line 46: OleDbCommand db_komut =
Line 47: new OleDbCommand("DELETE FROM eleman WHERE Ad = '"+ Ad +"' AND SoyAd = '"+SoyAd+"'", db_baglanti);
Line 48: db_komut.ExecuteNonQuery();
Line 49: Response.Write("<B>Verileriniz silindi !</B>");
Line 50: db_baglanti.Close();


executede ki problem hakkında bilgisi olan varsa yardım taleb ediyorum :)





q
Yazar
timur


avatar
İstanbul
Kayıt: 19.01.2006
19.02.2008-00:57 #38427
Bu verilerle çok cevap yazılabileceğini sanmıyorum. ExecuteNonQuery satırındaki hatanın nedenini bilirsek birşeyler söyleyebiliriz. Hatanın birçok sebebi olabilir. Mesela yetkilendirme sorunu. Localhost ta çalışırken ayar yapmak gerekebilir.

İyi çalışmalar...





Hayat varsa umut vard?r...
www.timureroglu.com

Yazar
safter


avatar

Kayıt: 18.04.2006
19.02.2008-00:59 #38428
nasıl ayarlar yapmak lazım acıklarmısın tahminen o ayarlardan dolayı çalışmıyor cünkü visual'de çalışıyordu..





q
Yazar
cantur


avatar
Rize
admin
Kayıt: 16.01.2006
19.02.2008-01:02 #38430
hata metnini kopyalarsan buraya az buçuk ne eksik anlarız.
Misal connection açtın mı, Sorguladığın veri varmı. sen yaz hatayı bi hele





Yazar
timur


avatar
İstanbul
Kayıt: 19.01.2006
19.02.2008-01:02 #38432
Komut satırından çalıştığın framework içerisindeki aspnet_regiis exesini -i ile çalıştırmayı bir dene istersen...

Mesela bende

C:WINDOWSMicrosoft.NETFrameworkv2.0.50727aspnet_regiis -i





Hayat varsa umut vard?r...
www.timureroglu.com

Yazar
safter


avatar

Kayıt: 18.04.2006
19.02.2008-01:08 #38434
Server Error in '/vardiya' Application.
--------------------------------------------------------------------------------

İşlem, güncelleştirilebilir sorgu kullanmalıdır.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Data.OleDb.OleDbException: İşlem, güncelleştirilebilir sorgu kullanmalıdır.

Source Error:


Line 52: OleDbCommand db_komut =
Line 53: new OleDbCommand("Insert INTO eleman(Ad,SoyAd,Calis_sek,ser_guz,grup) Values ('" + Ad + "','" + SoyAd + "','" + calis + "','" + ser + "','" + grup + "')", db_baglanti);
Line 54: db_komut.ExecuteNonQuery();
Line 55: Response.Write("<B>Verileriniz eklendi!</B>");
Line 56: db_baglanti.Close();


Source File: c:InetpubwwwrootvardiyaYeniKayit.aspx.cs Line: 54

Stack Trace:


[OleDbException (0x80004005): İşlem, güncelleştirilebilir sorgu kullanmalıdır.]
System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult) +267
System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult) +192
System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult) +48
System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method) +106
System.Data.OleDb.OleDbCommand.ExecuteNonQuery() +108
YeniKayit.Button2_Click(Object sender, EventArgs e) in c:InetpubwwwrootvardiyaYeniKayit.aspx.cs:54
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +104
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +108
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +7
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +11
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5614




--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:2.0.50727.832; ASP.NET Version:2.0.50727.832





q
Yazar
timur


avatar
İstanbul
Kayıt: 19.01.2006
19.02.2008-01:16 #38435
Veritabanının bulunduğu klasöre asp.net kullanıcının yazma yetkisi var mı? Sorun yetkilendirmeden kaynaklı gibi gözüküyor...





Hayat varsa umut vard?r...
www.timureroglu.com

Yazar
safter


avatar

Kayıt: 18.04.2006
19.02.2008-01:17 #38436
yazma yetkisi açık :(





q
Yazar
safter


avatar

Kayıt: 18.04.2006
19.02.2008-01:33 #38437
timur ben klasörü yollasam sana bakabilirmisin bi zahmet? mail adresin profilinde varsa yolluyorum ...





q
Yazar
cantur


avatar
Rize
admin
Kayıt: 16.01.2006
19.02.2008-01:35 #38438
Benzer Problem başıma gelmişti ama nasıl çözdüğümü hatırlayamadım.

Şunu yap bak. Command nesnenin içerisinde oluşturduğun texti incele. Bu texi(SQL cümleciğini ) gidip veritabanında çalıştır. Aynı hatayı alacaksın sanırım. O zaman nerede hata yaptığnı daha rahat çözebilirsin. (Tırnaklara dikkat et ).





Yazar
mehmet


avatar
Antalya
Kayıt: 29.01.2006
19.02.2008-01:36 #38439
Bu hata, tipik olarak komut dosyanız bir UPDATE (güncelleştirme) veya veritabanındaki bilgileri değiştiren başka bir işlem yapmaya çalıştığında oluşur. Bu hata, ADO aşağıdaki nedenlerden biriyle veritabanına yazamadığı için oluşur:

1. En genel neden, varsayılan olarak "Everyone" grubunun bir parçası olan Internet Guest hesabının (IUSR_MACHINE) veritabanı dosyasına (.mdb) Yazma izinleri olmamasıdır. Bu sorunu gidermek için, Explorer'da Güvenlik sekmesini kullanarak Internet Guest hesabının izinleri doğru olacak biçimde bu dosyanın özelliklerini ayarlayın.

NOT: Microsoft Access veritabanlarını ADO ile kullanırken, Internet Guest hesabına .mdb dosyasını içeren dizinde Yazma izinleri atanması gerekir. Bunun nedeni, Jet'in veritabanı kilitlemesini işlemek için bir .ldb dosyası oluşturmasıdır. "Temp" klasörüne de okuma/yazma izinleri atamanız gerekebilir, çünkü Jet bu dizinde geçici dosyalar oluşturabilir.
2. Bu hatanın ikinci bir nedeni de veritabanının yazma işlemi için doğru MODE ile açılmamış olmasıdır. Connection nesnesinde Open işlemi gerçekleştirirseniz, bağlantı izinlerini belirtmek amacıyla Mode özelliğini aşağıda gösterildiği gibi kullanmalısınız:

SQL = "UPDATE Products Set UnitPrice = 2;"
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Mode = 3 '3 = adModeReadWrite
Conn.Open "myDSN"
Conn.Execute(SQL)
Conn.Close



NOT: Varsayılan olarak, MODE genellikle güncelleştirmelere izin veren 0 (adModeUnknown) değerine ayarlanır.
3. Bu hatanın bir başka nedeni de ODBC Yöneticisi'nde bu DSN için Seçenekler sayfasında "Salt Okunur" ayarının işaretlenmiş olmasıdır.
4. Son neden ve önerilen geçici çözümü tüm SQL veri kaynakları için geçerlidir. Veritabanının başvurusal bütünlüğünü yok sayan tüm SQL ifadeleri bu hataya neden olabilir. Başarısız olan başlıca sorgular şunlardır:
• Çalışılabilecek en basit grup, değiştiremediğiniz gruplardır: UniqueValue özellikleri Yes olarak ayarlanmış çapraz sorgu, SQL doğrudan sorgusu, birleşim veya güncelleştirme (ya da tablo oluşturma) işlem sorguları.

• Sık karşılaşılan bir başka neden de birleştirme işleminin benzersiz dizinleri olmayan bağlantılı ODCB tabloları içermesidir. Bu durumda, değerleri sorgu ile değişecek alanlar içeren bir tablodaki kayıtların benzersiz olmasını SQL'in garanti etmesi söz konusu değildir.

• Bir neden, güçlü bir çözüm içermektedir. "Bir-çok" sorgunun "bir" tarafındaki birleştirme alanını güncelleştirmeye çalıştığınızda, basamaklı güncelleştirmeleri açmadığınız sürece sorgu başarısız olur. Böylece, JET alt yapısına başvurusal bütünlük atarsınız.





Soldier of Fortune


Yazar
mehmet


avatar
Antalya
Kayıt: 29.01.2006
19.02.2008-01:40 #38440
Bir de buna bak

When you try to connect to or write to an Access database.
You may receive "Operation must use an updateable query." exception.

CAUSE
Because of security concerns, the ASP.NET worker process runs under the default ASPNET account. If you do not enable impersonation for an application, all of the threads that run the requests for that application run under the process account.

This problem occurs because the ASPNET account does not have sufficient permissions to connect to or write to an Access database.


RESOLUTION
To work around this problem, use one of the following methods:
• Configure the ASP.NET worker process to run under the SYSTEM account in the <processModel> section of the Machine.config file.
• For security reasons, Microsoft recommends that you enable impersonation on your ASP.NET application. This method works if the impersonated user has necessary permissions to the computer and the database that you are accessing.
• Grant read and write permissions for the "Everyone" group on the database and the database folder. This method is not safe; therefore, Microsoft does not recommend this method.





Soldier of Fortune


Yazar
cantur


avatar
Rize
admin
Kayıt: 16.01.2006
19.02.2008-01:41 #38441
Şimdi hatırladım Godaddy.com sırf bu update olayını desteklemiyor diye ekstra hosting almıştım. Veritabanı dosyasında write , read le beraber güncelleme iznininde olması gerekiyor.





Yazar
sis***


avatar

Kayıt: 15.01.2006
19.02.2008-07:43 #38451
CACLS c:inetpubwwwrootveritabani.mdb /G Everyone:F

Veritabani yolunu belirterek bunu calistirisan tum yetkileri acacaktir. Cok klasik hatadir. ISS her zaman access dosyalarinda bu hatayi vermektedir.





University Of Minnesota- Minnesota(ABD)




Yazar
timur


avatar
İstanbul
Kayıt: 19.01.2006
19.02.2008-08:23 #38452
sis*** yazdi
 
CACLS c:inetpubwwwrootveritabani.mdb /G Everyone:F

Veritabani yolunu belirterek bunu calistirisan tum yetkileri acacaktir. Cok klasik hatadir. ISS her zaman access dosyalarinda bu hatayi vermektedir.


Yazdığın şekilde herkese tüm haklar veriliyor. Bu şekilde de Internet kullanıcısına veriliyor o yetki.

CACLS c:inetpubwwwrootvt.mdb /G IUSR_Makine:F





Hayat varsa umut vard?r...
www.timureroglu.com

1 2
Del.icio.us
Digg
Facebook
Furl
Google
Blink
Simpy
Spurl
Y! MyWeb