fdb yolu

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
Vital
Üye
Mesajlar: 280
Kayıt: 01 Oca 2008 08:50

fdb yolu

Mesaj gönderen Vital »

merhaba arkadaslar soyle bir sorunum var
d7 ve fb ibx bilesenleri kullaniyorum
bir program yazdim veriyolu herhangi bir makinanin C\programfiles\planlama\data\data.fdb

forumda makaleleri okudum ama tam olarak benim sorum.
diger bir makinadan bu programi paylasima acarak kullanamiyorum.yani ag uzerinden baska bir bilgisayardaki herhangi bir programi calistirmak gibi.ama olmadi data yolu bulunamadi ve baska hatalar verdi.bu sorunu nasil halledebilirim.

tskler..
Garibanus
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

s.a.
engüzeli alias tanımlayarak yapabilirsiniz böylelikle datanın yolu değişse bile sorun olmaz. firebirdin yüklü olduğu dizinde aliases.conf dosyasından alias tanımlayabilirsiniz.
ana makinede 3050 portunuda açmanız lazım.
kolay gelisn.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
NewMember
Üye
Mesajlar: 990
Kayıt: 29 Haz 2005 06:57
Konum: Bursa

Mesaj gönderen NewMember »

Merhaba;
Ben şöyle yapıyorum.Program dizinimde programımla ilgili ayarları tuttuğum bir text dosyam var.Program açılırken bu dosyayı okutup bir stringliste atıyorum.Mesela bu stringlist nesnemin adı da Listem.

Database pathide bu stringlistin 10.satırına tekabül ediyor.
Database bağlantısınıda bu aşağıdaki kodla yapıyorum.

Kod: Tümünü seç


//Dataları Aç
    IBDatabase1.Connected := False; //Data Bağlantısını Kes
    IBDatabase1.DatabaseName := listem.Strings[10]; //Yeni datayolunu al.
//===========================================================
//**********************************************************
    try
      IBDatabase1.Connected := True; //Bağlantıyı yap.
    except
      Application.MessageBox('Program Database Dosyasını Bulamıyor.Lütfen Network Ayarlarınız Yapınız.', 'Veritabanı Hatası', 0);
      Application.CreateForm(TFrmAgAyari, FrmAgAyari);
      frmagayari.showmodal;
      exit;
    end;
Kullanıcı avatarı
sadettinpolat
Moderator
Mesajlar: 2131
Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:

Mesaj gönderen sadettinpolat »

@NewMember, yontemin bana biraz patlamaya hazir bomba gibi geldi :)
bana gore hataya cok acik bir mantik kurmussun. ben ini dosyasina kaydedip o sekilde okuyorum.
"Sevmek, ne zaman vazgececegini bilmektir." dedi, bana.

---
http://sadettinpolat.blogspot.com/
Kullanıcı avatarı
NewMember
Üye
Mesajlar: 990
Kayıt: 29 Haz 2005 06:57
Konum: Bursa

Mesaj gönderen NewMember »

sadettinpolat yazdı:@NewMember, yontemin bana biraz patlamaya hazir bomba gibi geldi :)
bana gore hataya cok acik bir mantik kurmussun. ben ini dosyasina kaydedip o sekilde okuyorum.
aslında kod o kadar değil.Yani diğer başka kontrolleride yaptırıyorum.Mesela clientmi, lokal mi vs.sadece mantığı vermek için kodun bir kısmını yazdım.yaklaşık 2 yıldır çeşitli yerlerde kullanılan bir exenin kodu ve şu ana kadar hiç patlamadı. :lol:

Ancak ben şunun için cevap yazdım aslında.Ini dosya konusunu çok iyi bilmiyorum.Belki bu konuda bir eksiğim vardır diye soruyorum.

Exenin olduğu dizinde bir TXT dosyadan (Uzantısı ini olur path olur XXX olur farketmez) database yolunu okutmak ile ini dosya kullanmak arasında ne fark vardır?
Kullanıcı avatarı
sadettinpolat
Moderator
Mesajlar: 2131
Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:

Mesaj gönderen sadettinpolat »

txt, xxx, path ya da herhangi baska bir dosya ile ini dosyasindan okuma yapma arasinda bi farki yok , hataya neden olabilecek kisim dosyanin 10.satirindan okunan degerin veritabani yolu olarak kullanilmasi. tabi bu yine sizin yukarida verdiginiz ornege binaen. kod icerisinde hataya neden olabilecek kontroller yapilirsa fazla bi sorun olmaz ama yinede sakincali bence. sakincali oldugu durum ise sudur. bu tip ayarlarin kaydedildigi dosyalara elle mudahele cok olur. mesela genelde dosya icerisinde birden fazla veritabani yolu tanimlarim test amacli ve o an kullanmak istedigim veritabanlari haric digerlerinin basina ; isareti koyarak onlari pasif hale getirebilirim.

Kod: Tümünü seç

[database]
path=c:\deneme.fdb
;path=c:\asil.fdb
dosyanin belirli bir satirinda ki degeri veritabani pathi olarak okumaktan daha az riskli ve daha kullanisli bir yoldur benim icin. yarin bir gun birisi ya da kendim unutarak 1 ile 10.satir arasina fazladan bir satir ekledigimde program veritabani yolunu dosyadan duzgun okuyamayacagindan calismayacaktir.

dikkat cekmek istedigim konu buydu :)
"Sevmek, ne zaman vazgececegini bilmektir." dedi, bana.

---
http://sadettinpolat.blogspot.com/
Kullanıcı avatarı
NewMember
Üye
Mesajlar: 990
Kayıt: 29 Haz 2005 06:57
Konum: Bursa

Mesaj gönderen NewMember »

Açıklamalarınız için teşekkürler @sadettinpolat.Ne demek istediğini anladım.Haklısınız.
Vital
Üye
Mesajlar: 280
Kayıt: 01 Oca 2008 08:50

Mesaj gönderen Vital »

arkadaslar cevaplariniz icin tskler aslangeri aliases kullanmadan server da fb nin kullandıgı 3050 portunu acmak gerekiyormu .ip adresini veriyorum tcp ip kullaniyorum.veya baglanti yöntemi ne olmali.nasil bir yol izlenmeli.ve soyle bir celiski var bir program yazdir kullanici bunu bizden satin aldi makinalarına kurdu eger 3050 portunun acilmasi gerektigini bilmiyorsa(nasil acilacagini da bilmeyebilir) teknik olarak da yeter li degilse .o program calismayacaktir.ustalar boyle bir sorunu nasil asiyor.

tskler.
Garibanus
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

s.a.
server client uygulamalarda ana makinede 3050 portunun açılması lazım. (alias olsun yada olmasın) windows güvenlik duvarından kolayca port açılabilir.
Ufak bir utility program ilede halledilebilir zannımca ama biraz araştırmak lazım.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
kadirkurtoglu
Üye
Mesajlar: 748
Kayıt: 22 May 2005 01:20
Konum: Uzakta Görünen Tepeden...

Mesaj gönderen kadirkurtoglu »

NewMember yazdı: Exenin olduğu dizinde bir TXT dosyadan (Uzantısı ini olur path olur XXX olur farketmez) database yolunu okutmak ile ini dosya kullanmak arasında ne fark vardır?
arasında fark vardır... saklama olarak aynı olabilir, ancak ulaşmak ini dosyada daha kolaydır. hangi satırda olursa olsun ilgili section ın ilgili alan değerini anında alırsınız.

ini dosya yapısı

Kod: Tümünü seç

[Network]
yol=c:\data.fdb

Kod: Tümünü seç

var
yol : string;
begin
yol := IniFile.ReadString('Network', 'yol', '');
gibi bir ifadeyle ini dosyadan değeri alırsınız. conrolleri size kalmış. ben ini dosya varmı yokmu kontrolünü yaparım daha sonra değeri çekip, değerin olup, olmadığını kontrol eder son olarak try except bloğunda connect edip hatayı minimize etmeye çalışırım.

@sadettinpolat haklı
Bir mum, yanındaki mumları tutuşturmakla,
ışığında hiç bir şey kaybetmez.

Mevlana

OS win.10, IDE Delphi 10.3, RDBMS Firebird and MSSQL, BROWSER Chrome
Vital
Üye
Mesajlar: 280
Kayıt: 01 Oca 2008 08:50

Mesaj gönderen Vital »

ustalarverdiginiz bilgiler icin tskler cok faydali oldu

ve soyle bir sorum daha var

ornegin db yolu

C:\program files\program\data\data.fdb gibi

buradaki program files in veya program adli klasorun veya herhangi birinin adi kucuk olupta ib setinde büyük versek olurmu veya tam tersi olsa olurmu veritabanina baglanilabilirmi?hata olusurmu klasor isimlerini buyuk veya kucuk harfle yazilmasi

tskler...
Garibanus
Kullanıcı avatarı
NewMember
Üye
Mesajlar: 990
Kayıt: 29 Haz 2005 06:57
Konum: Bursa

Mesaj gönderen NewMember »

Vital yazdı:ustalarverdiginiz bilgiler icin tskler cok faydali oldu

ve soyle bir sorum daha var

ornegin db yolu

C:\program files\program\data\data.fdb gibi

buradaki program files in veya program adli klasorun veya herhangi birinin adi kucuk olupta ib setinde büyük versek olurmu veya tam tersi olsa olurmu veritabanina baglanilabilirmi?hata olusurmu klasor isimlerini buyuk veya kucuk harfle yazilmasi

tskler...
Klasörlerde denemedim çünkü zaten bunu değişkenden aldığım için direk orijinalini alıyor ancak DATA.FDB yerine data.fdb nin hata oluşturmadığını tecrübe ile söyleebilirim.
Cevapla