![]() |
|
هل يمكن نسخ جداول داخل الفاير بيرد؟ - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3) +--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15) +--- الموضوع : هل يمكن نسخ جداول داخل الفاير بيرد؟ (/showthread.php?tid=11139) |
هل يمكن نسخ جداول داخل الفاير بيرد؟ - ALG2009 - 15-11-2020 السلام عليكم من المعروف أن قاعدة الفاير بيرد تكون بالإسم DataBase.fdb وأريد أن أخذ نسخة من الجداول كل شهر أو كل سنة هل يمكن إنشاء عدة نسخ بإختلاف الإسم أم نسخقاعدة البيانات كاملة بجداولها؟ كيف يمكن تشفير وضغط وفك تشفير قاعدة البيانات عند الحفظ وعند الإستدعاء؟هل من مثال؟ RE: هل يمكن نسخ جداول داخل الفاير بيرد؟ - Delphi4Us - 20-11-2020 وعليكم السلام ورحمة الله يمكنك انشاء جدول جديد ووضع بيانات جدول قديم فيه جرب هذا كود : CREATE TABLE t2
AS
SELECT * FROM t1;التشفير راجع هذا Database Encryption RE: هل يمكن نسخ جداول داخل الفاير بيرد؟ - larbiparadox - 20-11-2020 وعليك السلام يوجد مكون إسمه FDIBBackup في خصائصه توجد خاصية التشفير ، وأمور أخرى بعد ربطه ، تكون عملية الحفظ كالتالي ومثال كود : DataModule1.FDIBBackup1.Backup;
showmessage('La sauvegarde complète');مثال وضع الاعدادات ، نفس إعدادات ربط قاعدة البيانات كود : DataModule1.FDIBBackup1.DriverLink := DataModule1.FDPhysFBDriverLink1;
DataModule1.FDIBBackup1.UserName := 'sysdba';
DataModule1.FDIBBackup1.Password := 'masterkey';
DataModule1.FDIBBackup1.Host := عنوان الجهاز;
DataModule1.FDIBBackup1.Verbose := True;
DataModule1.FDIBBackup1.Protocol := ipTCPIP; // (ipLocal, ipTCPIP, ipNetBEUI, ipSPX);
DataModule1.FDIBBackup1.Database := قاعدة البيانات;RE: هل يمكن نسخ جداول داخل الفاير بيرد؟ - ALG2009 - 20-11-2020 جزاكم الله خير يعني الحفظ والإسترجاع يكون على مستوى الجداول فقط أي حفظ الجداول بأسماء مغايرة أي لا ننسخ قاعدة البيانات كاملة يعني لو أردنا إسترجاع محفوظات سنة معينة يكون بإسترجاع الجداول؟ أليس تحميل قاعدة البيانات كلها ؟ وإذا أردنا أخذ بعض المعلومات من جدول من سنة ماضية لأخد بعض القيم منه وإضافتها لجدول آخر هنا لا يمكن أن نقول خد القيم من الجدول كذا من قاعدة البيانات كذا يعني تكون الجداول لكل سنة ضمن نفس قاعدة البيانات المشكل هنا حتى ولو كانت الجداول كثير ننسخها بإسم مغاير؟ أو يمكن أخد قيم من قاعدة بيانات إلى أخرى أي الطرق صحيحة؟ RE: هل يمكن نسخ جداول داخل الفاير بيرد؟ - larbiparadox - 20-11-2020 بالنسبة لعملية الاسترجاع تكون بواسطة بالمكون FDIBRestore اعدادات كود : //==================Restore=======================================================================================
DataModule1.FDIBRestore1.DriverLink := DataModule1.FDPhysFBDriverLink1;
DataModule1.FDIBRestore1.UserName := 'sysdba';
DataModule1.FDIBRestore1.Password := 'masterkey';
DataModule1.FDIBRestore1.Host := 'local';
DataModule1.FDIBRestore1.Protocol := ipLocal;
DataModule1.FDIBBackup1.BackupFiles.Add(المسار مع اسم قاعدة اليانات المراد استرجاعها);
//=========================================================================================================عملية الاسترجاع كود : DataModule1.FDIBRestore1.Restore;
showmessage('Restauration complète');RE: هل يمكن نسخ جداول داخل الفاير بيرد؟ - ALG2009 - 20-11-2020 يعني الحفظ والإسترجاع يكون على مستوى الجداول فقط أي حفظ الجداول بأسماء مغايرة أي لا ننسخ قاعدة البيانات كاملة يعني لو أردنا إسترجاع محفوظات سنة معينة يكون بإسترجاع الجداول؟ أليس تحميل قاعدة البيانات كلها ؟ وإذا أردنا أخذ بعض المعلومات من جدول من سنة ماضية لأخد بعض القيم منه وإضافتها لجدول آخر هنا لا يمكن أن نقول خد القيم من الجدول كذا من قاعدة البيانات كذا يعني تكون الجداول لكل سنة ضمن نفس قاعدة البيانات المشكل هنا حتى ولو كانت الجداول كثير ننسخها بإسم مغاير؟ أو يمكن أخد قيم من قاعدة بيانات إلى أخرى أي الطرق صحيحة؟ RE: هل يمكن نسخ جداول داخل الفاير بيرد؟ - Delphi4Us - 21-11-2020 الـ Restore والـ Backup ينسخ قاعدة البيانات كاملة وربما اجزاء منها لم استخدمه الاوامر DDL مثل CREATE TABLE هو لا يقوم بانشاء جداول داخلية فقط يمكن به نسخ جداول الى ملف خارجي حسب ضني تجزئة البيانات السنوية عمل لا فائدة فيه وغير منطقي فما المشكلة في ان يكون لدي جدول فيه صادرات وواردات شحنات بضائع البواخر للميناء من سنة 2001 حتى سنة 2020 الان ...؟ على كل حال كل الخيارات يمكن تنفيذها بالنهاية نسخ قاعدة البيانات وحفظها بتاريخ معين والاتصال بها واسترجاع البيانات منها او نسخ جدول الى جدول اخر وبتاريخ معين في النهاية المبرمج له حرية الاختيار RE: هل يمكن نسخ جداول داخل الفاير بيرد؟ - larbiparadox - 21-11-2020 (20-11-2020, 05:58 PM)Delphi4Us كتب : وعليكم السلام ورحمة الله في حالتك ارى جواب Delphi4Us هو الافضل لك ، في حالة أخذ بعض الاسطر من قاعدة البيانات أخرى * كيف يكون ذلك : إذا كانت نفس قاعدة البيانات عن طريق sql إدراج حقول إلى جدول من جدول أخر كما يمكنك اظافة الفلترة لتأخذ حقول معينة كود : INSERT INTO table1 ( column1 )
SELECT col1
FROM table2* أما في حالة قاعدتين إثنين منفصلتين بواسطة sql الكتابة السابقة، يمكن عمل ذلك بواسطة firedac بواسطة مكون FDLocalSQL مثال وذلك ربط FDQuery1 مع FDConnection1 و ربط FDQuery2 مع FDConnection2 وهنا حتى و لو قواعد البيانات مختلفة كـ أكسس او فير ستعملان معا كأنها قاعدة بيانات واحدة * وذلك ندرج FDLocalSQL1 والذي بدوره يمكن اضافة مجموعة من DataSets و نربط FDLocalSQL1 مع FDConnection3 التي تكون اعدادتها DriverName تساوي SQLite و بعدها تنشيطها و بعدها الذهاب الى FDLocalSQL1 وفي DataSets اضافة FDQuery 1 و 2 مثال ادراج يدوي لـ DataSets الخصة بـ FDLocalSQL1 FDLocalSQL1.DataSets.Add(FDQuery1, '', 'region') FDLocalSQL1.DataSets.Add(FDQuery2, '', 'employees') * وبعدها ندرج ونربط FDQuery3 مع FDConnection3 وهنا في FDQuery3 يمكنا العمل مع الجداول الموجودة في القواعد المربوطة بـ FDConnection1 و FDConnection2 RE: هل يمكن نسخ جداول داخل الفاير بيرد؟ - ALG2009 - 21-11-2020 جزاكم الله خيرا ولكن أيهما أفظل هل أستعمل قاعدة بيانات واحدة وأنسخ الجداول داخلها بأسماء مختلفة، أم من الأفضل وضع كل قاعدة واحدها. متى يستخدم كل قاعدة بيانات وحدها ومتى يتم نسخ الجداول في نفس قاعدة البيانات؟ |