Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

Acıl Yardim ....... Verı Kaybi !!!

Konu, 'Veritabanları' kısmında realperest tarafından paylaşıldı.

  1. realperest

    realperest Aktif Üye

    Kayıt:
    29 Ocak 2003
    Mesajlar:
    472
    Beğenilen Mesajlar:
    0
    Merhaba,

    Bu sabah çok kötü bir süpriz ile karşılaştım.

    Sorun var diye çağırdıklarında Access uygulamasının çalışmadığını ve aşağıdaki mesajı gördüm.

    "Bu veritabanı beklenmeyen durumda;Microsoft Access açamıyor.

    Bu veritabanı, öncesi Microsoft Access sürümünden, Araçlar menüsündeki (Veritabanı Hizmet Programları altmenüsü) Veritabanı dönüştür komutu yerine DAO CompactDatabase yöntemi kullanılarak dönüştürülmüş. Bu işlem veritabanını kısmi dönüştürülmüş olurak bıraktı.

    Veritabanının özgün biçimdeki kopyasına sahipseniz, dönüştürmek için, Araçlar menüsündeki (Veritabanı Hizmet Programları altmenüsü)Veritabanı dönüştür komutunu kullanın.Özgün veritabanınız yoksa, yeni bir veritabanı oluşturun ve tüblo ve sorgularını verilerini korumak için alın.Diğer veritabanı nesneleriniz kurtarılamayacak. "


    Evet mesaj aynen böyle, Aslınd bu veritabanı önceki Microsoft Access sürümü değil MsAccess 2000 biçiminde. Ama sanıyorum kullanıcı meraktan mıdır nedir araçlar menüsüne girerek orada bir şeyeri kurcalamış ve program bu hale gelmiş. (Aslınta tam olarak ne yaptığını çok merak ediyorum)

    Ben bu programın son halindeki bir kopyasına sahip değilim. Ancak elimde yaklaşık bir ay önce alınmış bir yedek var yani programın iskeleti elimde ancak verilerin son bir aylık kısmı maalesef yok. Dediği gibi yapıp boş bir veritabanı yarattım Dış veri al\Al komutunu kullanmaya çalışarak en azından tabloları almaya çalıştım ama orada da veritabanı hiç açılmadı. Ve yukarıdaki mesajı tekrarladı.
    Veritabanını özel kullanımda açmaya çalıştım ama özel kullanıma açma izniniz yok diyor nedense. Oysa kullanıcı düzeyi güvenlik ayarlarında hiç bi şey yapılmamıştı. Yani acaba izinden kastedilen bumu yoksa başka bi şeymi.

    Bu durumdan kurtulmanın bir yöntemi varmı acaba ? Acil yardım ve önerilerinizi bekliyorum.
     
  2. acemi

    acemi Misafir

    Mumkunse, dosyayi zip'leyip bana gondersene.
     
  3. realperest

    realperest Aktif Üye

    Kayıt:
    29 Ocak 2003
    Mesajlar:
    472
    Beğenilen Mesajlar:
    0
    Mail adresine gönderdim.
    ( mail@e....... ) zipli hali yaklaşık 2 mb. açınca 20 mb. a yakın bir yer tutacak.

    Teşekkürler
     
  4. omerosmanoglu

    omerosmanoglu Daimi Üye

    Kayıt:
    26 Ekim 2002
    Mesajlar:
    610
    Beğenilen Mesajlar:
    0
    Meslek:
    Sentez Yazılımda Kurumsal Çözüm Uzmanı olarak çalı
    Şehir:
    İstanbul
    Access Recovery Diye bir program duymuştum belki işe yarar hiç kullanmadım
     
  5. omerosmanoglu

    omerosmanoglu Daimi Üye

    Kayıt:
    26 Ekim 2002
    Mesajlar:
    610
    Beğenilen Mesajlar:
    0
    Meslek:
    Sentez Yazılımda Kurumsal Çözüm Uzmanı olarak çalı
    Şehir:
    İstanbul
    Access Recovery Diye bir program duymuştum belki işe yarar hiç kullanmadım

    Bir de Dataları Odbc ile Excel falan alabiliyormusunuz.?

    Aslında en kolay yöntem YEDEK almaktır............
     
  6. acemi

    acemi Misafir

    mail'ime baktim ama dosya yok. bir daha gonderebilir misin?
    veya bir de acemi17@yahoo.com 'dan gonder.
     
  7. realperest

    realperest Aktif Üye

    Kayıt:
    29 Ocak 2003
    Mesajlar:
    472
    Beğenilen Mesajlar:
    0
    15:47 de benden gitmiş gözüküyor
    tekrar dediğin adrese gönderiyorum.


    az önceki arkadaşın dediği gibi excel den veriyi almayı denedim.
    '~sq_cBORÇ TAHSİL~sq_cAçilan Kutu0' nesnesini kullanmak için gerekli izinleriniz yok. Sistem yöneticinizin veya bu nesneyi oluşturan kişinin, sizin için gerekli izinleri vermesini sağlayın.


    gibi mesajlar geliyor sadece veriler gelmiyor.

    Biliyorum , :)) en kolayı yedek almak ama etrafta yedeği geri yüklemeye çalışırken tekrar bozuk dosyayı yedekte bekleyen sağlam dosyasının üzerine kaydeden çok bilmişler varken bu da tehlikeli oluyor. :))))
     
  8. acemi

    acemi Misafir

    Dosyayi aldim. System.mdw ve yonetici parolasina ihtiyacim var.
     
  9. realperest

    realperest Aktif Üye

    Kayıt:
    29 Ocak 2003
    Mesajlar:
    472
    Beğenilen Mesajlar:
    0
    İlgi ve yardımın için teşekkür ederim.
    Verileri hemen manuel olarak girmeye başlamakla iyi etmişim demek. Yaklaşık 10 günlük girilecek bir verimiz kaldı zaten, neredeyse bitiyor. O yüzden çok üzülecek bir şey yok bizim açımızdan.
    Tekrar teşekkür ediyorum.
     
  10. acemi

    acemi Misafir

    Yedekleme icin asagidaki gibi bir script dosyasi kullanabilirsin. Notepad'i acip bu kodlari kopyala ve daha sonra dosya/klasor adlarini seninkilere uygun olarak degistir. Bir de YEDEK_KLASOR adli bolume yedeklerin kopyalanacagi klasorun adini yaz. Bu klasorun ikinci bir sabit diskte olmasi da daha iyi olur.

    Dosyayi daha sonra .vbs uzantisi ile kaydet ve Start Up bolumune kopyala. (Start -> Programs -> Startup)

    Bu sekilde onemli dosyalarin son 7 kopyasini saklamis olursun. YEDEK_KLASOR olarak baska bir makineyi de verebilirsin.

    YEDEK_KLASOR = "\\makineAdi\paslastirilanKlasorAdi\"

    gibi...

    ------------------------------------------------------------------
    const YEDEK_KLASORU = "D:\Yedek\"
    const YEDEK_DOSYA_ON_EK = "Yedek_"
    const DOSYA_ADEDI = 20

    dim FSO
    dim dosya
    dim kaynak_dosya
    dim yedek_dosya
    dim Yedeklenecek_Dosya_Yol(20)
    dim Yedeklenecek_Dosya_Ad(20)
    dim sayac

    ' 1. dosya
    Yedeklenecek_Dosya_Yol(1) = "C:\veriler\"
    Yedeklenecek_Dosya_Ad(1) = "veritabani.mdb"

    ' 2. dosya
    Yedeklenecek_Dosya_Yol(2) = "C:\Dosyalar\"
    Yedeklenecek_Dosya_Ad(2) = "yazi.doc"

    ' n. dosya
    Yedeklenecek_Dosya_Yol(n) = "C:\klasor_n\"
    Yedeklenecek_Dosya_Ad(n) = "dosya_n.xxx"

    ' 20. dosya
    Yedeklenecek_Dosya_Yol(20) = "C:\"
    Yedeklenecek_Dosya_Ad(20) = "autoexec.bat"


    set fso = CreateObject("Scripting.FileSystemObject")

    for sayac=1 to DOSYA_ADEDI
    if Yedeklenecek_Dosya_Yol(sayac) > "" AND Yedeklenecek_Dosya_Ad(sayac) > "" then
    kaynak_dosya = Yedeklenecek_Dosya_Yol(sayac) & Yedeklenecek_Dosya_Ad(sayac)
    yedek_dosya = YEDEK_KLASORU & _
    YEDEK_DOSYA_ON_EK & CStr(weekday(now())) & "_" & _
    Yedeklenecek_Dosya_Ad(sayac)

    set dosya = fso.GetFile(kaynak_dosya)
    dosya.copy yedek_dosya, true
    end if
    next

    msgbox("Calismaya baslayabilirsiniz")
     
  11. realperest

    realperest Aktif Üye

    Kayıt:
    29 Ocak 2003
    Mesajlar:
    472
    Beğenilen Mesajlar:
    0
    Teşekkür ettikten sonra şunu sormak istiyorum.

    Dosya dosya değil de belirtilecek bir kaç klasör ve bu klasörlerin içindeki tüm alt klasörleri yedekleyecek bi kod oluşturulabilirmi bu şekilde.
    Birde bu scripti vb yada access in içinden bir komut düğmesine bağlayabilirmiyiz.
     
  12. acemi

    acemi Misafir

    Bir klasordeki herseyi kopyalamak icin :

    FileSystemObject.CopyFolder "c:\kaynak_klasor\*", "c:\hedef_klasor\"

    komutunu kullanabilirsin.


    dosyaAdi.vbs adli dosyayi Access icinden kullanabilmek icin bir macro yazabilirsin. Macro sayfasini acinca RunApp secenegini secip Command Line parametresi icin path'i ile birlikte dosyaAdi.vbs yazman gerekiyor. SOnra bu macro adini dugmenin On Click olayina yazacaksin.