نقل برنامج إلى جهاز آخردون تثبيت قاعدة البيانات
#1
السلام عليكم
قمت ببرمجة برنامج بقاعدة بيانات فاير بيرد وأريد نقله إلى جهاز آخر دون تثبيت الفاير بيرد في الجهاز

هل أثبت في جهازي Embedded FireBird دون أن تتعارض مع فاير بيرد العادي وهل أستطيع ذلك دون تشطيب البرنامج
الرد
#2
وعليك السلام
بالنسبة لـ embedded firebird ترفق و لا تثبت ، ولا تتعارض مع المثبت
الرد
#3
استخدام الفايربيرد Firebird كقاعدة بيانات مضمنة
https://delphi4arab.net/forum/showthread.php?tid=2527
رَبَّنَا اغْفِرْ لِي وَلِوَالِدَيَّ وَلِلْمُؤْمِنِينَ يَوْمَ يَقُومُ الْحِسَابُ
الرد
#4
بالنسبة لـ FireDAC لن تحتاج إلى برامج إضافية لتشغيله ، سوى مجموعة من الإعدادات

01 _ تحميل النسخة المضمنة بالنسبة لنسخة 2 تحميل الملف  [size=small]Firebird-2.5.9.27139-0_Win32_embed.zip[/size]    الذي ينتهي بكلمة embed
        بالنسة للنسخة الثالثة لايحتوي على نسخة embedded نفس النسخة أو نسخة مضغوطة ، نفك الضغط عنها [size=small]Firebird-3.0.5.33220-0_Win32.zip[/size]

كيفية الربط : بعد تحميلنا المجلد نرفقه دائما مع البرنامج

* بالنسبة للنسخة 2 تكون كتالي : بعد تحميل أعدت تسميت المجلد إلى Firebird25Win32Emb هذا إختياري
الشيئين المهمين : ملف fbembed.dll و DataModule1.FDPhysFBDriverLink1.Embedded  := True
PHP كود :
var
CheminApplication:string;


FDConnection1.Connected := False;

CheminApplication:=ExtractFileDir(Application.ExeName);

FDPhysFBDriverLink1.Release;

FDPhysFBDriverLink1.VendorHome := EmptyStr;

FDPhysFBDriverLink1.VendorLib := CheminApplication+'\Firebird25Win32Emb\fbembed.dll';


FDConnection1.DriverName                    := 'FB';

FDConnection1.Params.Values['Port']         := '3050';
FDConnection1.Params.Values['Protocol']     := EmptyStr;
FDConnection1.Params.Values['Server']       := EmptyStr;
FDConnection1.Params.Values['CharacterSet'] := 'UTF8';
FDConnection1.Params.Values['SQLDialect']   := '3';
FDConnection1.Params.Values['Database']     := CheminApplication+'\DATABASE.FDB';
FDConnection1.Params.Values['User_Name']    := 'sysdba';
FDConnection1.Params.Values['Password']     := 'masterkey';

try
FDConnection1.Connected := True;

votre table.Active  := True;



except
    on E
: EDatabaseError do
    ShowMessage(E.Message);
end; 

* بالنسبة للنسخة 3 تكون كتالي : بعد تحميل أعدت تسميت المجلد إلى Firebird30Win32 هذا إختياري
نفس الشيء : ملف fbclient.dll هنا الاسم متغير و DataModule1.FDPhysFBDriverLink1.Embedded  := True

PHP كود :
DataModule1.FDConnection1.Connected := False;

DataModule1.FDPhysFBDriverLink1.Release;
DataModule1.FDPhysFBDriverLink1.VendorHome := EmptyStr;
if 
PC_TYPE.caption  = 'Local' then  begin

DataModule1
.FDPhysFBDriverLink1.Release;
DataModule1.FDPhysFBDriverLink1.DriverID := 'FB';
DataModule1.FDPhysFBDriverLink1.Embedded   := True;
DataModule1.FDPhysFBDriverLink1.VendorHome := EmptyStr;
DataModule1.FDPhysFBDriverLink1.VendorLib := CheminApplication+'\Firebird30Win32\fbclient.dll';

DataModule1.FDConnection1.Connected := False;
DataModule1.FDConnection1.DriverName                    := 'FB';
DataModule1.FDConnection1.Params.Values['Port']         := '3050';
DataModule1.FDConnection1.Params.Values['Protocol']     := 'local';

DataModule1.FDConnection1.Params.Values['ExtendedMetadata']     := 'True';

DataModule1.FDConnection1.Params.Values['Server']       := EmptyStr;
DataModule1.FDConnection1.Params.Values['CharacterSet'] := 'UTF8';
DataModule1.FDConnection1.Params.Values['SQLDialect']   := '3';
DataModule1.FDConnection1.Params.Values['Database']     := CheminApplication+'\DATA\DATA_BASE.FDB';
DataModule1.FDConnection1.Params.Values['User_Name']    :='sysdba';
DataModule1.FDConnection1.Params.Values['Password']     := 'masterkey'; 

اعمل بهما بدون مشاكل
[-] كل من 2 users say قال شكرا ل larbiparadox على المشاركة المفيدة
  • أبو معاذ, bassem_43
الرد
#5
السلام عليكم.
بالنسبة الفايربيرد 3 مضمنة   (Embedded) أظن أنه ليس شرط  تثبيت جميع الملفات،
بل يكفي نسخ الملفات التالية إلى مسار برنامجك.

كود :
fbclient.dll firebird.msg ib_util.dll icudt52.dll icudt52l.dat icuin52.dll icuuc52.dll firebird.conf databases.conf msvcp100.dll msvcr100.dll intl\fbintl.conf intl\fbintl.dll plugins\engine12.dll

مع المراعات لنوع FbClient.dll    
32 بت أو 64 بت.
اللهم اجعلني من أهل القرآن ، الذين هم أهلك و خاصتك.
تذكر بأن الوقت الذي تلهو فيه ، غيرك يبني مجده فيه.
الرد
#6
(15-06-2020, 06:46 PM)أبو معاذ كتب : السلام عليكم.
بالنسبة الفايربيرد 3 مضمنة   (Embedded) أظن أنه ليس شرط  تثبيت جميع الملفات،
بل يكفي نسخ الملفات التالية إلى مسار برنامجك.

كود :
fbclient.dll firebird.msg ib_util.dll icudt52.dll icudt52l.dat icuin52.dll icuuc52.dll firebird.conf databases.conf msvcp100.dll msvcr100.dll intl\fbintl.conf intl\fbintl.dll plugins\engine12.dll

مع المراعات لنوع FbClient.dll    
32 بت أو 64 بت.


بالتدقيق هذه
كود :
plugins\engine12.dll fbclient.dll firebird.msg ib_util.dll icudt52.dll icudt52l.dat icuin52.dll icuuc52.dll msvcp100.dll msvcr100.dll
[-] كل من 1 user says قال شكرا ل larbiparadox على المشاركة المفيدة
  • أبو معاذ
الرد
#7
جزاكم الله خيرا وبارك الله فيكم
سأثبت الفايربيرد المضمن 3 64بيت

إقتباس :[size=small]مع المراعات لنوع FbClient.dll    [/size]

[size=small]32 بت أو 64 بت.[/size]

هل القصد إن كان جهاز العميل 64 أرفق ملفات 64بيت وإن كان جهاز العميل 32 بيت أرفق مع البرنامج ملفات 32 بيت؟
مع العلم أن جهازي 64 بيت
الرد
#8
(15-06-2020, 08:33 PM)ALG2009 كتب : جزاكم الله خيرا وبارك الله فيكم
سأثبت الفايربيرد المضمن 3 64بيت

إقتباس :[size=small]مع المراعات لنوع FbClient.dll    [/size]

[size=small]32 بت أو 64 بت.[/size]

هل القصد إن كان جهاز العميل 64 أرفق ملفات 64بيت وإن كان جهاز العميل 32 بيت أرفق مع البرنامج ملفات 32 بيت؟
مع العلم أن جهازي 64 بيت


برنامجك الذي صممته 32 إذا أرفق معه 32 ، هذا كل شيء
الرد
#9
السلام عليكم
اخي larbiparadox وعند إستخدام الـ dbEXpress بدل FireDAC كيف يكون الربط ؟؟
و من طلب العلوم بغير كد _________ سيدركها إذا شاب الغراب
الرد
#10
(18-06-2020, 02:32 PM)bassem_43 كتب : السلام عليكم
اخي larbiparadox  وعند إستخدام الـ dbEXpress بدل FireDAC  كيف يكون الربط ؟؟

وعليك السلام ، أنت غائب على الساحة ، الأخ باسم

بالنسبة dbEXpress الامر يخلف قليلا ، حمل النسخة المضمنة بالنسبة لنسخة 2 تحميل الملف  [size=small]Firebird-2.5.9.27139-0_Win32_embed.zip[/size]    الذي ينتهي بكلمة embed

* فك الضغط عنها لكن أنسخ الملفات مباشرة مع الملف التنفيذي ، الملفات الضرورية : fbembed.dll ، firebird.msg ، ib_util.dll ، icudt30.dll ، icuin30.dll ، icuuc30.dll ، msvcp80.dll msvcr80.dll
* غير إسم ملف fbembed.dll إلى fbclient.dll
* بالاظافة إلى  dbxfb.dll ، إبحث عنه في مسار الدلفي مجلد bin
PHP كود :
var repertoire : string;
begin


Repertoire 
:= ExtractFilePath(paramstr(0));
 
With SQLConnection1 do
  begin

    Params
.Clear;


    DriverName :='Firebird';
    Params.Add('DriverUnit=Data.DBXFirebird');
    Params.Add('LibraryName=dbxfb.dll');
    Params.Add('LibraryNameOsx=libsqlfb.dylib');
    Params.Add('VendorLib=fbclient.dll');
    Params.Add('VendorLibWin64=fbclient.dll');
    Params.Add('VendorLibOsx=/Library/Frameworks/Firebird.framework/Firebird');
    Params.Add('Database='+repertoire+'DATABASE.FDB');
    Params.Add('User_Name=sysdba');
    Params.Add('Password=masterkey');
    Params.Add('Role=RoleName');
    Params.Add('MaxBlobSize=-1');
    Params.Add('LocaleCode=0000');
    Params.Add('IsolationLevel=ReadCommitted');
    Params.Add('SQLDialect=3');
    Params.Add('CommitRetain=False');
    Params.Add('WaitOnLocks=True');
    Params.Add('TrimChar=False');
    Params.Add('BlobSize=-1');
    Params.Add('ErrorResourceFile=');
    Params.Add('RoleName=RoleName');
    Params.Add('Trim Char=False');
    Params.Add('ServerCharSet=none');

  end;
 try
  SQLConnection1.Connected:=true;
  Edit1.Text:='Base connecté';
 
// SQLQuery1.Open;
 // ClientDataSet1.Active:=true;
 
Except
  Edit1
.Text:='Pas de connexion';
 
end;


end; 

بالنسبة للملفات واجب ارفاقها حسب نوع قاعدة البيانات

رابط الصفحة
[-] كل من 2 users say قال شكرا ل larbiparadox على المشاركة المفيدة
  • أبو معاذ, bassem_43
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم