Paradox,blob alan

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
cuneyt22
Üye
Mesajlar: 213
Kayıt: 07 Şub 2004 03:32
İletişim:

Paradox,blob alan

Mesaj gönderen cuneyt22 »

s.a arkadaşlar paradox olan bi veritabanından dataları aktarmam gerekiyor. ancak bi tabloya erişemiyorum. o tabloda memo bi alan varmış ve .FPT uzantılı bir dosya oluşturuyor galiba. ama o alanı kaldırdıkları vakit erişebiliyorum o tabloya fakat o zamanda sorun oluyor. diğer proğramda sorun oluyor. alias ile erişiyorum bde den new-->standart olarak erişiyorum dataya. bu alan olduğu zaman nasıl erişebilirim bu tabloya. başka birileri yapmış diyorlar biz neden yapmayalım :)
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

- Ortada bir sorun görmüyorum. Bir veritabanı var. Markası PARADOX.

- Bu veritabanının yolunu ALIAS ile de bulabilirsiniz, kendisinin orjinal yolunu DATABASENAME kısmına yazarak da.

- Bir Memo alan var olabilir. Uzantısı .FPT olan bir dosyaya da kaydediliyor olabilir ama bu bizi ilgilendirmez. Bizi ilgilendiren şey, memo alanın adını verdiğimde PARADOX veritabanından gerekli iritbat kurulup bu bilginin bulunarak bize sunulması işlemidir. Bu işlemi BDE veya ADO ile yaptırabiliriz.

- Şimid bu bağlamda sorunuzu tekrar sorar mısınız, olmayan nedir ?
Resim
Resim ....Resim
Kullanıcı avatarı
cuneyt22
Üye
Mesajlar: 213
Kayıt: 07 Şub 2004 03:32
İletişim:

Mesaj gönderen cuneyt22 »

Şimdi hocam sorum memo alanın olduğu tabloya erişemiyorum.database desktoptan,ado,bde,odbc hiçbirinden erişemiyorum. hata veriyor.ama farklı birileri erişiyor nasıl erişiyorlar bilmiyorum ama.bunun haricinde diğer bir firma foxpro ile yapmış bunlar o memo alanı kaldırdıklarında erişebiliyorum o tabloya ancak o alanı kaldırsalar proğramlarında sorun olacak benimde bu şekilde erişmem gerekiyor anlayacağınız. umarım anlatabildim. kolay gelsin
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

- UYARI: Aşağıdaki uygulamayı yapmadan önce veritabanının bir yedeğini mutlaka al.

- Veritabanını kendi projene dönüştürmek istersen şu vereceğim linkteki FREEWARE projeyi indirip veritabanınınyapısını legal dbase formatına dönüştür.

ref: http://www.griffinsolutions.com/dbfdesktop.php

- Dosyayı aç, DBFType yazan sağdaki kısımdan FoxPro hariç bir tanesini seç. Sonra aynı yerdeki butonlardan SAVE CHANGES de. Sonra da çık.

- Veritabanına şimdi erişmeye çalış. Bahsettiğin alan düzelmiş olacak. Umarım işini görür.
Resim
Resim ....Resim
Kullanıcı avatarı
cuneyt22
Üye
Mesajlar: 213
Kayıt: 07 Şub 2004 03:32
İletişim:

Mesaj gönderen cuneyt22 »

hocam tşk ederim yardımını için. fakat olmadı yine. o proğramla dediğiniz gibi yaptım fakat yine erişemedim. bi table nesnesi ile erişmek istediğimde

Kod: Tümünü seç

Corrupt table/index header.
hatası veriyor. acaba bu indexi kaldırıp tekrar eklersek düzelirmi. bu işlemi nasıl yapabiliriz.ama sorun onda olsa diğer proğram nasıl kullanıyor anlamadım
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

Bir de Database Desktop ile bakmayı dener misin ? Hani eskiden bu şekilde "erişilemiyor" demiştin ya o bakımdan...
Resim
Resim ....Resim
Kullanıcı avatarı
cuneyt22
Üye
Mesajlar: 213
Kayıt: 07 Şub 2004 03:32
İletişim:

Mesaj gönderen cuneyt22 »

hocam maalesef erişemedim. aynı hatayı veriyor

Kod: Tümünü seç

Corrupt table/index header.
ama göndermiş olduğunuz linkteki proğram açıyor datalarada bakabiliyorum. o nasıl erişiyor acaba.
Kullanıcı avatarı
cuneyt22
Üye
Mesajlar: 213
Kayıt: 07 Şub 2004 03:32
İletişim:

Mesaj gönderen cuneyt22 »

Hocam birde şunu denedim. şimdi o link ile tabloyu açtım Not diye alan var memo 10 diye o alanı sildim sonra erişmek istedim eriştim. ancak daha sonra o alanı tekrar ekledim. tekrar bağlanmaya çalıştım tekrar hata verdi. ama tipini değiştirdim yine oldu memo değilce charcter yaptım oldu. ama bu sorunun bi çaresi olmalı
Kullanıcı avatarı
cuneyt22
Üye
Mesajlar: 213
Kayıt: 07 Şub 2004 03:32
İletişim:

Mesaj gönderen cuneyt22 »

arkadaşlar tipini değiştirerek sorunu hallettik. fakat şimdi şöyle bir sorun var. .dbf dosyasına yazdığım verileri göremiyorum.

Kod: Tümünü seç

Dmg.QTah.edit;
  Dmg.QTah.FieldByName('TARIH').AsDateTime:=Qmya.FieldByName('SONUC_TARIHI').AsDateTime;
  Dmg.QTahlil.Post;
bu şekilde yazdım fakat dataya baktığım zman yazmadığını görüyorum. ağ üzerinden yazdırıyorum LOCALSHARE=TRUE yaptım.serverda linux var. fakat datanın olduğu yerde bir işlem yapmadım linuxta tutulduğu için. bu sorunu nasıl aşabilirim. dataya işlemini nasıl gerçekleştirebiliri. transactionı kabul etmiyor paradox. bu nedenle olabilir dedim ama kabul etmedi.transaction başlatamassın diyor.
Kullanıcı avatarı
cuneyt22
Üye
Mesajlar: 213
Kayıt: 07 Şub 2004 03:32
İletişim:

Mesaj gönderen cuneyt22 »

Kod: Tümünü seç

Dmg.QTah.edit; 
Dmg.QTah.FieldByName('TARIH').AsDateTime:=Qmya.FieldByName('SONUC_TARIHI').AsDateTime; 
Dmg.QTah.Post; 
kod bu şekilde yanlış yazdım..
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

Localde sorunun çözüldü mü peki ?

- Bu işlemi Edit / Post ile değil de ExecSQL ile halletsen...

- Aşağıdaki kod hatalı olabilir, normalde BDE kullanmıyorum...

Kod: Tümünü seç

With Dmg.QTah do begin
  SQL.Text := 'UPDATE Tablo SET TARIH = :tarih';
  ParamByName('tarih').DataType := ftDate;
  ParamByName('tarih').Value := Qmya.FieldByName('SONUC_TARIHI').AsDateTime;
  ExecSQL;
end;
- Ayrıca aşağıdaki bilgi de var...

Ref : http://bdn.borland.com/article/15247
Borland yazdı:In Summary (setup for Peer-To-Peer networks):
---------------------------------------------
16 and / or 32Bit Applications:
1) Turn "LOCAL SHARE" to TRUE in the BDE Configuration
Utility.
2) Do not use the UNC naming convention.
3) Do not use tables with long file names.
4) Make sure that all clients are mapped to the same
directory on the server.

32Bit Only Applications:
1) Turn "LOCAL SHARE" to TRUE in the BDE Configuration
Utility
2) Use the UNC naming convention to achieve a path to the
network directory and table directory.

If the above steps are not followed, users could be
locked out of the tables getting error:
"Directory is controlled by other .NET file."
"File: (Path1) PDOXUSRS.LCK"
"Directory: (Path2)"
OR
"Multiple .NET files in use."
"File: (Path) PDOXUSRS.LCK"
En son mrmarman tarafından 15 Ara 2006 03:35 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Resim
Resim ....Resim
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Mesaj gönderen sabanakman »

Merhaba; bana öyle geliyor ki sanki kullanılan DataSet bileşenlerinin veya sistemde yüklü olan DB sürücülerinin versiyonu ile tabloların versiyonunda bir uyuşmazlık var. Acaba projede hangi DataSet bileşenleri kullanılıyor bunu da belirtebilir misiniz?
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Kullanıcı avatarı
cuneyt22
Üye
Mesajlar: 213
Kayıt: 07 Şub 2004 03:32
İletişim:

Mesaj gönderen cuneyt22 »

s.a arkadaşlar ilgilendiğiniz için Allah razı olsun. sorunu çözdüm. arama yaptım session kullandım.

Kod: Tümünü seç

if Session.Active then 
Session.Close; 
Session.NetFileDir := AppDir; //ExtractFilePath(Application.ExeName); 
GetTempPath(255, Buf); 
Session.PrivateDir := Buf; // burada pdoxusrs.net dosyasını programın bulunduğu yer olarak gösteriyoruz 
Session.Open; 
bu kodları ekledim sorun haloldu. ama ben yinede korkuyorum. zırt pırt lck. hatası verir. diye bazen directory busy diyor. bazen lck hatası veriyor. İnş bunlarıda halledersem sorun halolacak. :)
Cevapla