1

Konu: sürekli aynı tablonun bozulması

merhaba arkadaşlar,yoğun bir şekilde kullanılan database içerisinde bir tablom var(dbf).sadece 2 adet index tanımlı olmasına rağmen 5 ay içerisinde 2.defadır bozuluyor.İçerisinde sadece 6.000 kayıt mevcut .(Table has been currupted hatası veriyor).Bu tabloya userler sürekli kayıt ekliyor.Kayıt ekleme yoğunluğu en fazla olan tablo.Aynı anda tabloya iki kullanıcının kayıt ekleme yada update yapması muhtemel.Aynı anda,aynı kayıdı iki kişinin düzelteme şansı yok.(userlere göre filitreleme var herkez kendi kayıdı düzeltebilir).Şu ana kadar database de başka tabloların bozulduğunu görmedim.Ama bu tabloda problem çıkıyor.Ne tavsiye edersiniz.(foxpro 9 kullanıyorum)

En büyük sermaye nakit,nakit sermaye vakittir...

2

Re: sürekli aynı tablonun bozulması

1. formda datasession=2- privat yap

2. olmazsa muhtemelen harddiskte fiziksel sorun var dosyayı başka yere kopyalayıp rename yap, eski dosyayı da silmeden başka adla bırakırsan iyi olur(eski usul!)

VFP9 SP2

3

Re: sürekli aynı tablonun bozulması

programdan normal şekilde çıkmadan program kapatmalar veya network kesilmeleri buna sebep olur. flush force dene. gerçi ben denedim yine de çok fazla işe yaramadı. aslında dosya bozulmuyor. dosyanın gerçek boyutuyla .dbf te yazan boyutu uyuşmuyor. problem bu. eski vfp versiyonlarında bu hata yoktu. set tablevali to 0 dersen bu hatayı bir daha almazsın.

Haksızlıklar karşısında susanlar, dilsiz şeytanlardır!
www.metinemre.com

4

Re: sürekli aynı tablonun bozulması

metin üsdat,"set tablevali to 0" işimi gördü. çok teşekkür ederim.üsdat "flush force " nedir? bu konuyada bir açıklık getirirsen sevinim.

En büyük sermaye nakit,nakit sermaye vakittir...

5

Re: sürekli aynı tablonun bozulması

Neyzen,
Biraz agresif bir cozum olacak ama dene istersen:
AdvantageDatabase.com'dan VFP ODBC driverini alip VFP tablolarina da ODBC ile ulas. Local server (ki bu VFP'nin dogrudan kullanma modeline cok benziyor) olarak kullanirsan ODBC driver ucretsiz. C/S modeli icin server ucretli.
Ben VFPOLEDB'yi kullaniyorum (ADS'e cevirmek icin yeterli vaktim olmadi) ve herhangi bir anda dosyalar sadece gerektigi kadar aclip kapandigindan bir prolem yasamiyorum. Private datasession ve buffering kullanarak hemen hemen sifirlanmisti o problemler, simdi hic yok gibi (gormedim henuz).

Not: ADS modeli ayni zamanda baska bircok sorunu hallediyor, gercek client/server oluyor, replikasyon destekliyor, sadece IP ile baglanabiliyorsun vs (ancak cok yeniyim o konuda detaylarini tam bilmiyorum. Ilk denemeler cok iyiydi sadece)

6

Re: sürekli aynı tablonun bozulması

cetinbasoz yazdı:

Neyzen,
Biraz agresif bir cozum olacak ama dene istersen:
AdvantageDatabase.com'dan VFP ODBC driverini alip VFP tablolarina da ODBC ile ulas. Local server (ki bu VFP'nin dogrudan kullanma modeline cok benziyor) olarak kullanirsan ODBC driver ucretsiz. C/S modeli icin server ucretli.
Ben VFPOLEDB'yi kullaniyorum (ADS'e cevirmek icin yeterli vaktim olmadi) ve herhangi bir anda dosyalar sadece gerektigi kadar aclip kapandigindan bir prolem yasamiyorum. Private datasession ve buffering kullanarak hemen hemen sifirlanmisti o problemler, simdi hic yok gibi (gormedim henuz).

Not: ADS modeli ayni zamanda baska bircok sorunu hallediyor, gercek client/server oluyor, replikasyon destekliyor, sadece IP ile baglanabiliyorsun vs (ancak cok yeniyim o konuda detaylarini tam bilmiyorum. Ilk denemeler cok iyiydi sadece)


Gecen bahsettigin fox datasi da Client/Server gibi olacak dedigin bu muydu ? yoksa yanlis bir seyimi hatirladim sad

7

Re: sürekli aynı tablonun bozulması

çetin hocam,herzamanki gibi farklılığınız gösterdiniz,müsait bir zamanda deneyeceğim :-)

En büyük sermaye nakit,nakit sermaye vakittir...

8 Son düzenleyen, metin (04.04.2008 15:38:59)

Re: sürekli aynı tablonun bozulması

neyzen yazdı:

metin üsdat,"set tablevali to 0" işimi gördü. çok teşekkür ederim.üsdat "flush force " nedir? bu konuyada bir açıklık getirirsen sevinim.


windows'u bufferdeki dataları diske yazmaya zorlar. ama biraz yavaşlatır. sen normalde tableupdate() dediğin zaman windows onları kafasına estiğinde yazıyor. force parametresi ile bunu engellemiş oluyorsun.

Haksızlıklar karşısında susanlar, dilsiz şeytanlardır!
www.metinemre.com

9

Re: sürekli aynı tablonun bozulması

cetinbasoz yazdı:

Neyzen,
Biraz agresif bir cozum olacak ama dene istersen:
AdvantageDatabase.com'dan VFP ODBC driverini alip VFP tablolarina da ODBC ile ulas. Local server (ki bu VFP'nin dogrudan kullanma modeline cok benziyor) olarak kullanirsan ODBC driver ucretsiz. C/S modeli icin server ucretli.
Ben VFPOLEDB'yi kullaniyorum (ADS'e cevirmek icin yeterli vaktim olmadi) ve herhangi bir anda dosyalar sadece gerektigi kadar aclip kapandigindan bir prolem yasamiyorum. Private datasession ve buffering kullanarak hemen hemen sifirlanmisti o problemler, simdi hic yok gibi (gormedim henuz).

Not: ADS modeli ayni zamanda baska bircok sorunu hallediyor, gercek client/server oluyor, replikasyon destekliyor, sadece IP ile baglanabiliyorsun vs (ancak cok yeniyim o konuda detaylarini tam bilmiyorum. Ilk denemeler cok iyiydi sadece)


bence o kadar uğraştıktan sonra sql-server kullanmak daha mantıklı. sonuçta sql-server ile de aynı zahmete girecek.

Haksızlıklar karşısında susanlar, dilsiz şeytanlardır!
www.metinemre.com

10

Re: sürekli aynı tablonun bozulması

arkadaşlar SQL servere geçme zamanım geldi galiba.Zorla değil mecburi :-(

En büyük sermaye nakit,nakit sermaye vakittir...

11

Re: sürekli aynı tablonun bozulması

Metin,
SQL server'la daha fazla zahmete girecek demek istedim aslinda:) Birisinde sadece connectionstring ve cursoradapter ya da view yeterli. SQL server'da isin icine bir de upsizing giriyor.
Local server modu dogrudan kullanmaktan pek farkli degil, sadece araya servis girdigi icin disk IO onun isi.

Tabii SQL server'a gecmek benim icin de ideal cozum (su anda kendi uygulamami ayni anda kullanici isterse VFP isterse SQLserver modunda kullansin diye elden geciriyorum ve surekli icimden VFP kismini atmak geciyor:)