Uygulamamın kullanıldığı bilgisayarın harddiski kullanılamayacak şekilde hasar gördüğü için program ve sql server database'im uçtu.
Yedekelerimde de database hata veriyor ve restore yapamıyorum. Projemin yedekleri var. Projedeki data modüldeki table ve
query'lerden database yapısını yeniden oluşturabileceğim bir yöntem önerebilir misiniz? (yaklaşık 15 tablom var)
Kaybolan Database için...
Kaybolan Database için...
Erbab-ı kemâli çekemez nakıs olan, rencide olur Dide-i Huffaş ziyadan....
Re: Kaybolan Database için...
Yedekler de fiziksel olarak zarar mı gördü, yoksa kurulum yaptığınız sqlserver hata ile geri çeviriyor?
Hata neyse buraya yazın beraber araştıralım.
Hata neyse buraya yazın beraber araştıralım.
Re: Kaybolan Database için...
Yedekleri harddisk kurtarma programı ile almaya çalıştım, ama olmadı. Dosyayı gösteriyor ama okuyamıyor.
Erbab-ı kemâli çekemez nakıs olan, rencide olur Dide-i Huffaş ziyadan....
Re: Kaybolan Database için...
Öncelikle geçmiş olsun, Delphi tarafında kullandığınız tablo yada query bileşenlerinizin içinde Field tanımları mevcut mu ?
Re: Kaybolan Database için...
Kaynak dosyaya bakılarak table structure yapısı bir şekilde yeniden oluşturulabilir.
@thelvaci belirttiği gibi dinamik olarak tablolarınızı projeniz içinden tanımlayıp oluşturuyorsanız iş akışınızı hemen yapılandırıp yolunuza devam edebilirsiniz.
Elde edilen yedekler yapısal olarak bozuk olabilir. Şimdi google ile bakınınca gördüğüm bu linkteki gibi online veya arayınca bulunabilecek tamir programlarından birisini araştırarak başlayın. Verdiğim link muhtemelen para isteyecektir ama sadece yapısal olarak tamir edilebilirlik hakkında fikir verecektir.
Eğer elinizde pe / hex editor benzeri bir tool varsa kurtarılan BAK dosyaya bakın. Başlangıç (header) kısmı aşağıdaki resimdeki gibi başlıyorsa şanslısınız demektir.

@thelvaci belirttiği gibi dinamik olarak tablolarınızı projeniz içinden tanımlayıp oluşturuyorsanız iş akışınızı hemen yapılandırıp yolunuza devam edebilirsiniz.
Elde edilen yedekler yapısal olarak bozuk olabilir. Şimdi google ile bakınınca gördüğüm bu linkteki gibi online veya arayınca bulunabilecek tamir programlarından birisini araştırarak başlayın. Verdiğim link muhtemelen para isteyecektir ama sadece yapısal olarak tamir edilebilirlik hakkında fikir verecektir.
Eğer elinizde pe / hex editor benzeri bir tool varsa kurtarılan BAK dosyaya bakın. Başlangıç (header) kısmı aşağıdaki resimdeki gibi başlıyorsa şanslısınız demektir.

Re: Kaybolan Database için...
Muharrem bey,
İlginize, dertlenip benim problemime yönelik vaktiniz ayırıp araştırmanıza teşekkür ederim.
Emek çeken insan, başkasının emeğinin kıymetini anlıyor....
Gelelim benim problemime;
Projemde fields editor'de fields'leri select all yapıp notepad'e yapıştırdım. Aşağıdaki şekilde
kayıtları döküyor:
projeyi derlerken görüp halledeceğim artık.
Tekrar teşekkürler...
İlginize, dertlenip benim problemime yönelik vaktiniz ayırıp araştırmanıza teşekkür ederim.
Emek çeken insan, başkasının emeğinin kıymetini anlıyor....
Gelelim benim problemime;
Projemde fields editor'de fields'leri select all yapıp notepad'e yapıştırdım. Aşağıdaki şekilde
kayıtları döküyor:
Buradan tabloları yeniden oluşturmaya başladım. Biraz vakit alacak ama, ufak tefek hataları daobject DOSYABULUS_TAKIP_NO: TSmallintField
FieldName = 'BULUS_TAKIP_NO'
ReadOnly = True
end
object DOSYADOSYA_NO: TStringField
FieldName = 'DOSYA_NO'
end
object DOSYAGECICI_DOSYA_NO: TStringField
FieldName = 'GECICI_DOSYA_NO'
end
object DOSYAPOLICE_NO_2: TStringField
FieldName = 'POLICE_NO_2'
Size = 25
end
object DOSYABULUS_KABUL_NO: TStringField
FieldName = 'BULUS_KABUL_NO'
end
object DOSYAMAGDUR_PLAKA_1: TStringField
FieldName = 'MAGDUR_PLAKA_1'
end
object DOSYAMAGDUR_SURUCU_ADI_SOYADI_1: TStringField
FieldName = 'MAGDUR_SURUCU_ADI_SOYADI_1'
Size = 50
end
object DOSYAMAGDUR_SURUCU_TCKIMLIK_NO_1: TStringField
DisplayWidth = 11
FieldName = 'MAGDUR_SURUCU_TCKIMLIK_NO_1'
Size = 11
end
object DOSYAMAGDUR_SURUCU_TEL_1: TStringField
DisplayWidth = 15
FieldName = 'MAGDUR_SURUCU_TEL_1'
EditMask = '!\(999\) 000 00 00;1;_'
Size = 15
end
object DOSYAMAGDUR_RUHSAT_SAHIBI_1: TStringField
FieldName = 'MAGDUR_RUHSAT_SAHIBI_1'
Size = 50
end
.
.
.
.
projeyi derlerken görüp halledeceğim artık.
Tekrar teşekkürler...
Erbab-ı kemâli çekemez nakıs olan, rencide olur Dide-i Huffaş ziyadan....
Re: Kaybolan Database için...
Kolay bir yol önerebiliriz belki eğer tamamlamadı iseniz işleminizi. Bağlantı component'inizi (muhtemelen TADOConnection) yeni oluşturacağınız boş bir veritabanına ayarlayın ve connection'u kurun. Ardından formlarınızın OnCreate olay yöneticinde herhangi bir tablo açma işlemi yapmadı iseniz; ana formunuzun üzerine atacağınız bir button'un altında ilgili formlarınızı create ederek TRttiContext ile TDataSet aratabilir ve içlerindeki field'larda dönebilir buna göre bir Sql cümleciği oluşturarak tablolarınızı oluşturabilirsiniz TADOConnection.Execute metodu ile. Yada; yeni bir unit tanımlar ve TDataSet'e bir helper sınıf yada interposer sınıf yazabilir, bu sınıfta DoBeforeOpen metodunu override edip; içinde tablo oluşturma kodunuzu yazıp inherited çağrımını yapmazsınız, ardından da tüm tüm formlarınızın interface bölümünün en sonuna bu yeni unitinizi uses kısmına eklersiniz 
