firebird'i flash diskten çalıştırmak.
firebird'i flash diskten çalıştırmak.
s.a.
firebird veritabanı ile yapılmış bir program flash diskte çalışabilir mi?.
yani veritabanı ve exe dosyası flash diskte olacak. veriler direk flash diske işlenecek. bunu yapamak için tabiki önce bilgisayara firebird kurulacak.
ibdatabase bileşeninne veritanabının yolunu sabit disk olunca gösterebiliyoruz. ama flash diske sabit bir yol veremeyiz. çünkü flash disk her bilgisayarda aynı sürücü adını almıyor. mesela bende flash diskin sürücü adı H, başka bir bilgisayarda ise adı F, G olabiliyor.
veritabanını exenini yanında buluna bir klasörde tutuyorum.
bu işlemi nasıl yapabilirim.
iyi çalışmalar.
firebird veritabanı ile yapılmış bir program flash diskte çalışabilir mi?.
yani veritabanı ve exe dosyası flash diskte olacak. veriler direk flash diske işlenecek. bunu yapamak için tabiki önce bilgisayara firebird kurulacak.
ibdatabase bileşeninne veritanabının yolunu sabit disk olunca gösterebiliyoruz. ama flash diske sabit bir yol veremeyiz. çünkü flash disk her bilgisayarda aynı sürücü adını almıyor. mesela bende flash diskin sürücü adı H, başka bir bilgisayarda ise adı F, G olabiliyor.
veritabanını exenini yanında buluna bir klasörde tutuyorum.
bu işlemi nasıl yapabilirim.
iyi çalışmalar.
- kadirkurtoglu
- Üye
- Mesajlar: 748
- Kayıt: 22 May 2005 01:20
- Konum: Uzakta Görünen Tepeden...
teşekkür ederim.
ama ben yinede bir denemek istiyorum.
ibdatabase'i flash diskteki tabloya nasıl bağlayabilirim?
çünkü direk sürücü adı veremiyorum.
normalde program C dizkinde şu şekilde ve ibdatabase'e
C:\Sitepro\SiteproData\Sitepro.fdb
şeklinde bağlanıyorum. flash diskte te aynı yapı var.
iyi çalışmalar.
ama ben yinede bir denemek istiyorum.
ibdatabase'i flash diskteki tabloya nasıl bağlayabilirim?
çünkü direk sürücü adı veremiyorum.
normalde program C dizkinde şu şekilde ve ibdatabase'e
C:\Sitepro\SiteproData\Sitepro.fdb
şeklinde bağlanıyorum. flash diskte te aynı yapı var.
iyi çalışmalar.
Uygulamanız ile veritabanı dosyanız aynı yerdeyse:
ile veritabanı yolunu alabilmeniz lazım.
Kod: Tümünü seç
ExtractFilePath(Paramstr(0)) + '\' + veritabanı adı
- kadirkurtoglu
- Üye
- Mesajlar: 748
- Kayıt: 22 May 2005 01:20
- Konum: Uzakta Görünen Tepeden...
bende flash disk için F sürücü harfini verdi
F:\data\data.fdb dediğimde bağlandı. tabi bu türde bir değer vermek yanlış.
ile yapmak daha sağlıklı olur.
F:\data\data.fdb dediğimde bağlandı. tabi bu türde bir değer vermek yanlış.
Kod: Tümünü seç
extractfilepath(applcation.exename) + 'data\data.fdb';
teşekkür ederim.
formun on active olayına şu kodu yazdım.
açılışta aşağıdaki hatayı veriyor. çünkü datamodule'deki ibdatabase1'in databasename yazan yerini boş bıraktım. aşağıdaki hatayı onun için veriyor.
"database name is missing"
ama tamam deyince program açılıyor ve flash diskteki veritabanına bağlanıyor. ama bağlantı hızı o kadarda düşük değil 2-3 sn içinde bağlanıyor.
iyi çalışmalar dilerim.
formun on active olayına şu kodu yazdım.
Kod: Tümünü seç
try
DataModule1.IBDatabase1.DatabaseName:= ExtractFilePath(Paramstr(0)) + '\' + 'SITE.FDB';
DataModule1.IBDatabase1.Connected:=True; // Database active ediliyor..
DataModule1.IBTransaction1.Active:=True; //Transaction active ediliyor
except
showmessage('Veritabanına bağlantı sağlanamadı');
end;
"database name is missing"
ama tamam deyince program açılıyor ve flash diskteki veritabanına bağlanıyor. ama bağlantı hızı o kadarda düşük değil 2-3 sn içinde bağlanıyor.
iyi çalışmalar dilerim.
-
- Üye
- Mesajlar: 360
- Kayıt: 10 Nis 2006 09:07
Kod: Tümünü seç
procedure TForm1.Button3Click(Sender: TObject);
var
Drive: Char;
DriveLetter: String[4];
Flash_Bellek:string;
begin
for Drive := 'A' to 'Z' do
begin
DriveLetter := Drive + ':\';
case GetDriveType(PChar(Drive + ':\')) of
DRIVE_REMOVABLE:
begin
if drive='A' then
Memo1.Lines.Add(DriveLetter + ' Floppy Drive')
else begin
Memo1.Lines.Add(DriveLetter + ' Flash Bellek');
Flash_Bellek:=drive;
{if drive='B' then
Memo1.Lines.Add(DriveLetter + ' Floppy Drive') else Memo1.Lines.Add(DriveLetter + ' Flash Bellek');}
end;
end;
DRIVE_FIXED:
Memo1.Lines.Add(DriveLetter + ' Fixed Drive Harddisk') ;
DRIVE_REMOTE:
Memo1.Lines.Add(DriveLetter + ' Network Drive') ;
DRIVE_CDROM:
Memo1.Lines.Add(DriveLetter + ' CD-ROM Drive') ;
DRIVE_RAMDISK:
Memo1.Lines.Add(DriveLetter + ' Ram Disk bu nedir Bilmiyom') ;
end;
end;
end;
Kod: Tümünü seç
ExtractFilePath(Paramstr(0)) + '\' + veritabanı adı
Kod: Tümünü seç
extractfilepath(applcation.exename) + 'data\data.fdb';

Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
söylemiş olduğunuz gibi AllowStreamedConnected ve Connected propertylerini False yaptım lakin aynı mesajı vermeye devam ediyor.fduman yazdı:IBDatabase'in AllowStreamedConnected ve Connected propertylerini False yapmanız halinde o hatayı da almazsınız.
düzeltme :
sorun çözüldü. hatanın nedeni formun onshow olayında bir tabloyu açmaya çalışmam imiş.
iyi çalışmalar.
Benim konuyla alakali fakat daha baska bir sorum olacak.
Firebird kurulmamis bir makinadan flash disk ile fdb veritabani kullanan bir uygulama calistirabilirmiyiz. Yani mesela bir executable dosya varmidir firebird sunucusunu karsi bilgisayarda kurulmamis olsa bile calistirabilecek. Eger bu mumkunse flash diskte ayrica hangi dosyalar bulunmalidir.
Firebird kurulmamis bir makinadan flash disk ile fdb veritabani kullanan bir uygulama calistirabilirmiyiz. Yani mesela bir executable dosya varmidir firebird sunucusunu karsi bilgisayarda kurulmamis olsa bile calistirabilecek. Eger bu mumkunse flash diskte ayrica hangi dosyalar bulunmalidir.