FireBird ve Delphi'yi ağda çalışacak şekilde entegre etmek

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
palandoken
Üye
Mesajlar: 151
Kayıt: 16 Eki 2006 10:43
Konum: ERZURUM

FireBird ve Delphi'yi ağda çalışacak şekilde entegre etmek

Mesaj gönderen palandoken »

Delphi 6 , IBExpert ve FireBird 1.5 kullanıyorum.FireBird ve IBExpert'i kullanmayı pek bilmiyorum.Ben ağda kullanılabilecek bir program yazmak istiyorum.FireBird ve Delphi'yi ağda kullanılmak üzere nasıl programlayabilirm.

Mesela 3 bilgisayarın ağla birbirine bağlı olduğu bir sistemde Delphi,FireBird ve IBExpert'teki ayarları nasıl yapıcam.

Açık bir şekilde yazarsanız sevinirim.Çünkü FireBird ve IBExpert'i daha yeni kullanmaya başladım.
akıllanma , aklını başına toplama , toparlanma , kendisini derleme bu dünyaya ait bir vazife.
ahirette nasıl olsa aklın başına gelecek.
Kullanıcı avatarı
vedatkaba
Kıdemli Üye
Mesajlar: 866
Kayıt: 06 Oca 2004 06:50
Konum: DARICA/GEBZE

Mesaj gönderen vedatkaba »

:ara arama yapalım arkadaşlar lütfen bu konu çok konuşuldu çokkkkkkkkkk
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.

***********************************
palandoken
Üye
Mesajlar: 151
Kayıt: 16 Eki 2006 10:43
Konum: ERZURUM

Mesaj gönderen palandoken »

vedatkaba yazdı::ara arama yapalım arkadaşlar lütfen bu konu çok konuşuldu çokkkkkkkkkk
Ustam biliyorum.Aramada yaptım ama FireBird'e yeni geçtiğim için bulduğum sonuçları anlamadım.Çünkü acemiyim.Hatta şu an bile forumda arıyorum.Ama dişime göre bir cevap bulamadım.Affedin.
akıllanma , aklını başına toplama , toparlanma , kendisini derleme bu dünyaya ait bir vazife.
ahirette nasıl olsa aklın başına gelecek.
Kullanıcı avatarı
haydarxxx
Üye
Mesajlar: 668
Kayıt: 09 May 2005 11:31
Konum: izmir

Mesaj gönderen haydarxxx »

Bende bu konuda acemiyim ama şu şekilde yapmıştım ağda çalış tabi burada en büyük sorun ağdaki bir makinanın veri girdiği zaman tüm makinalarda bunun görülmesi gerekir refresh olayı yani (Tırıger ve Ibalert ile veri yakalama yada refresh diye arttırırsan bir şeyler bulabilirsin) gelelim ağ olayına bu konuda bir hatam var ise üstatlarımız düzeltsin

1.Projendeki Ibdatabasenin , databasename sine anamakina olacak olan makinanın ıp adresini yada daha iyisi makinanın adını örneğin (Umut:c:\KursKayıt\Data) benim makinamın adı Umut

2.Ibdatabase çift tıklattığınızda bağlantınızın Remote durumunda olduğunu serveren anamakina adını aldığını protokol un TCP şeklinde ayarlayın ve test diyin successfull conection uyarısı alırsanız bağlantınız tamam demektir.

3.projeyi run diyerek birkez çalıştırın tabi şimdilik bu proje yapımını kendi makinanızda yapın daha doğrusu anamakina olacak makinada

4.Eğer projeniz bu hali ile anamak da çalışıyor ise tmm dır.

5.Projenize ağda tam paylaşım verin (exe nin olduğu klosöre).Buraya kadar olan kısım anamak içindi

6.projenin exe sini kopyalayarak ağdaki diğer makinalara aynı yollu yapıştırın örneğin c:\Kurs\Kayıt.exe gibi.Ağmakinasına dataları almanıza gerek yok yanlız exesi.

7.Ağdaki exe yi çalıştırmadan önce ağdaki makinaya firebird yükleyiniz.

8.Anamak ın exe sini ve terminelin exe sini çalıştırın her ikisinizde bağlanmış olması gerekir.Kolay gelsin.Ben bu şekilde bağlanıyorum
Kullanıcı avatarı
kadirkurtoglu
Üye
Mesajlar: 748
Kayıt: 22 May 2005 01:20
Konum: Uzakta Görünen Tepeden...

Mesaj gönderen kadirkurtoglu »

yapman gereken

ağdaki dataya bağlanmak için

Client Makinaya FB Client Kur veya GDS32.DLL dosyasını Clinet exe nin olduğu dizine copyala

Database için databasename olarak

IP veya Server Makina Adı + ':' + Data Yolu

Kod: Tümünü seç

10.0.0.180:D:\Program\Data\Data.FDB
daha sonra anamakina firewall i kaldır veya fb port erişimini erişime açık hale getir.

datasetleri edit yaparken kaydın diğer kullanıcılar tarafından DeadLock olup olmadığını kontrol ettir.

kayıt DeadLock değilse edit yaptır..

Özeti bu kadar..

DedaLock ne dersen; deadLock kaydın edit olması durumunda başka kullanıcıların aynı kayıt üzerinde değişiklik yapmasını engelmme olayıdır. FB kayıt edit edildiğinde kaydı kilitler commit ettiğinde kiliti açar.
palandoken
Üye
Mesajlar: 151
Kayıt: 16 Eki 2006 10:43
Konum: ERZURUM

Mesaj gönderen palandoken »

Peki arkadaşlar ben
'Umut:c:\KursKayıt\Data' veya
10.0.0.180:D:\Program\Data\Data.FDB
bu ikisini Delphi içerisinden kodlamı yoksa IBExpert'tenmi yapıcam.
Eğer IBExpertten yapacaksam 'Adem:c:\Octasis\Data' olarak atadığım ServerName başka bir ağ sistemine kurulduğunda hata vermez mi?Çünkü o ağdaki ana makina adı Adem olmayacak.
Yok eğer Delphi içerisinden yapacaksam bunu nasıl yapıcam.
akıllanma , aklını başına toplama , toparlanma , kendisini derleme bu dünyaya ait bir vazife.
ahirette nasıl olsa aklın başına gelecek.
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

arkadaşım ibexpertin senin programla bi alakası yok.
o sadece yardımcı bir araç.
ibexpertte ne yaparsan yap programdan ayarlamadığın sürece bi işe yaramaz.

sen servername i delphi tarafından ayarlayacaksın.
bir ini dosyasından veya registerden veya kukllanıcıdan bir şekilde server makinenin ip adresini ve dosya yolunu alman lazım.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
palandoken
Üye
Mesajlar: 151
Kayıt: 16 Eki 2006 10:43
Konum: ERZURUM

Mesaj gönderen palandoken »

Tamam son bir soru...

Ana makina için Delphi içinden IP'yi yazdırabilirim.Peki ağdaki diğer kullanıcılar programı ana makinadaki exe'den mi çalıştıracak?Eğer böyle değilse diğer kullanıcılar için delphide nasıl bir kod yazmam gerekiyor.bu durumda ne tür bir yol izlemeliyim.

Teşekkürler...

:oops:
akıllanma , aklını başına toplama , toparlanma , kendisini derleme bu dünyaya ait bir vazife.
ahirette nasıl olsa aklın başına gelecek.
Kullanıcı avatarı
haydarxxx
Üye
Mesajlar: 668
Kayıt: 09 May 2005 11:31
Konum: izmir

Mesaj gönderen haydarxxx »

Anamakinanızdaki projeniz Adem:c:\Octasis\Data şeklinde çalışıyorsa bu server üzerinden kendi anamakinanıza bağlanıyorsunuz demektir.

server makinaya c:\Octasis\ şeklinde klasör açın ve içine anamakinadaki exe dosyasını kapyalayarak buraya yapıştırın böylece hem anamak hem servermak bu yolla bağlanmış olacak
Kullanıcı avatarı
NewMember
Üye
Mesajlar: 990
Kayıt: 29 Haz 2005 06:57
Konum: Bursa

Mesaj gönderen NewMember »

kadirkurtoglu yazdı:daha sonra anamakina firewall i kaldır veya fb port erişimini erişime açık hale getir.
Acaba bunu kod ile nasıl yapabiliriz.Bilen varmı arkadaşlar.
mucit
Üye
Mesajlar: 83
Kayıt: 24 Kas 2004 10:41
Konum: BURSA

Mesaj gönderen mucit »

Merhaba,

Programınız içinden;

Kod: Tümünü seç

uses Registry;

procedure TForm1.Button1Click(Sender: TObject);
var
  R: TRegistry;
begin
  R:= TRegistry.Create;
  try
    R.RootKey:= HKEY_LOCAL_MACHINE;
    if R.OpenKey('SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile', True) then
    begin
      R.WriteInteger('DoNotAllowExceptions', 0);
      R.CloseKey;
    end;
    if R.OpenKey('SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\GloballyOpenPorts\List', True) then
    begin
      R.WriteString('3050:TCP', '3050:TCP:LocalSubNet:Enabled:Firebird SQL Server');
      R.CloseKey;
    end;
  finally
    R.Free;
  end;
end;
ya da Inno Setup ile kurulumda;

Kod: Tümünü seç

[Registry]
Root: HKLM; Subkey: SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile; ValueType: dword; ValueName: DoNotAllowExceptions; ValueData: 00000000; MinVersion: 0,4.0
Root: HKLM; Subkey: SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\GloballyOpenPorts\List; ValueType: string; ValueName: 3050:TCP; ValueData: 3050:TCP:LocalSubNet:Enabled:Firebird SQL Server; MinVersion: 0,4.0
şeklinde yapabilirsiniz.

Kolay gelsin.
Cevapla