FireBird ve Delphi'yi ağda çalışacak şekilde entegre etmek
-
- Üye
- Mesajlar: 151
- Kayıt: 16 Eki 2006 10:43
- Konum: ERZURUM
FireBird ve Delphi'yi ağda çalışacak şekilde entegre etmek
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.
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.
ahirette nasıl olsa aklın başına gelecek.
-
- Üye
- Mesajlar: 151
- Kayıt: 16 Eki 2006 10:43
- Konum: ERZURUM
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.vedatkaba yazdı:arama yapalım arkadaşlar lütfen bu konu çok konuşuldu çokkkkkkkkkk
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.
ahirette nasıl olsa aklın başına gelecek.
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
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
- kadirkurtoglu
- Üye
- Mesajlar: 748
- Kayıt: 22 May 2005 01:20
- Konum: Uzakta Görünen Tepeden...
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
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.
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
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.
-
- Üye
- Mesajlar: 151
- Kayıt: 16 Eki 2006 10:43
- Konum: ERZURUM
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.
'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.
ahirette nasıl olsa aklın başına gelecek.
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.
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
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
-
- Üye
- Mesajlar: 151
- Kayıt: 16 Eki 2006 10:43
- Konum: ERZURUM
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...

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...

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.
ahirette nasıl olsa aklın başına gelecek.
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
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
Merhaba,
Programınız içinden;
ya da Inno Setup ile kurulumda;
şeklinde yapabilirsiniz.
Kolay gelsin.
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;
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
Kolay gelsin.