الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

سؤل عن كيفة عمل فورم للنسخ الاحتياطي

Featured Replies

بتاريخ:

بسم الله الرحمن الرحيم

لو تسمحو يا اخواني الاعزاء

انا سويت المشروع اوانتهيت منه

بس الان باقي معي كيف اسوي شاشة يكون فيها تكست اكتب فية مسار حفظ نسخة احتياطية ثم اضغط على كومند يعمل نسخة احتياطية في المكان المحدد
وكذلك نفس الشي لاستراجاع النسخة الاحتياطية

مع ملاحظة اني كتبت الاستفسار هذا من قبل لاكن كانت الاجابات اني ادخل للدوز واكتب امر النسخ او امر الاسترجاع

لاكن مش معقول اني اجيب اسم وكلمة سر قاعدة البيانات للذي سيعمل النسخ الاحتياطية
وكمان مش معقول انهم كل ما يشتو يعملو نسخة احتياطية يتصلولي عشان اعملهم نسخة

ارجو من الذي سيجيب على السوال ان يطرح الاجابة بشكل مبسط ومشروح عشان المبتدئين امثالي يفهمو الطريقة

وجزاكم الله كل خير

بتاريخ:

قم بإدراج 4 مربع نص ، ويكون أسمائهم علي التوالي
TXT_UNAME
TXT_PASSWORD
TXT_SERVER_NAME
TXT_PATH

وبعد ذلك أدرج 2 زر أمر ، الأول تحت إسم CMD_EXPORT ، والثاني تحت إسم CMD_IMPORT ، وأنشأ الغرض التالي لإختبار المدخلات :

FUNCTION CHECK_INPUT RETURN BOOLEAN
AS
 BOL   BOOLEAN;
BEGIN
 BOL := FALSE;

 IF(:TXT_UNAME IS NULL)THEN
 MESSAGE('رجاء إدخال إسم المستخدم');
 MESSAGE('رجاء إدخال إسم المستخدم');
 BOL := TRUE;
 GO_ITEM('TXT_UNAME');
 END IF;

 IF(:TXT_PASSWORD IS NULL)THEN
 MESSAGE('رجاء إدخال كلمة المرور');
 MESSAGE('رجاء إدخال كلمة المرور');
 BOL := TRUE;
 GO_ITEM('TXT_PASSWORD);
 END IF;

 IF(:TXT_SERVER_NAME IS NULL)THEN
 MESSAGE('رجاء إدخال إسم خادم أوراكل');
 MESSAGE('رجاء إدخال إسم خادم أوراكل');
 BOL := TRUE;
 GO_ITEM('TXT_USER_NAME');
 END IF;
 
 IF(:TXT_PATH IS NULL)THEN
 MESSAGE('رجاء تحديد مسار ملف البيانات');
 
 BOL := TRUE;
 GO_ITEM('TXT_USER_NAME');
 END IF;
 
 <<EXIT_FUNCTION>>
 RETURN BOL;
END;




وبعد ذلك أكتب الكود التالي في زر أمر CMD_EXPORT لتصدير البيانات :

IF(CHECK_INPUT = FALSE)THEN
HOST('EXP ' || :TXT_UNAME || '/' || :TXT_PASSWORD || '@' || :TXT_SERVER_NAME || ' FILE = ' || :TXT_PARH);
END IF;



وأكتب الكود التالي لإستيراد البيانات من جديد :

IF(CHECK_INPUT = FALSE)THEN
HOST('IMP SYSTEM/MANAGER@' || :TXT_SERVER_NAME || ' FROMUSER = ' || :TXT_UNAME || ' TOUSER = ' || :TXT_UNAME || ' FILE = ' || :TXT_PATH);
END IF;




ملحوظة ، هذا مجرد مثال ، ولكن يمكنك توسيع العملية كما تشاء


شكراً

بتاريخ:
  • كاتب الموضوع

بسم الله الرحمن الرحيم

اولا مشكور يا اخي على الاجابة

بس انت ما فهمت قصدي

من طريقتك هذي سوف اكتب اسم المستخدم وكلمة المرور واسم قاعدة البيانات كمان

مع ان هذي الحاجات ما يعرفهاش المستخدم للنضام

يعني انا اريد ان تضهر له شاشة فيها زر عمل نسخة

وزر استعادة نسخة مع وجود تكست لماكن الحفظ والاستعادة

بدون كتابة كلمة السر والمستخدم

وبارك الله فيك

بتاريخ:

السلام عليكم ورحمة الله وبركاته

اخي الكريم

يمكنك الاستفاد من الكود التالي

للوصول لمتداد الملف في حال تغير موقع ملف البرنامج

FUNCTION getpath RETURN VARCHAR2 IS
path VARCHAR2(255) := Get_Application_Property(CURRENT_FORM);
slash    PLS_INTEGER;
BEGIN slash := instr(path,'\',-1) ;
Return(substr(path,1,slash));
END;



DECLARE
USER_NAME   VARCHAR2(30);  
PASS_WORD   VARCHAR2(30); 
CONN_STRG   VARCHAR2(30);
BEGIN USER_NAME := GET_APPLICATION_PROPERTY(USERNAME);   
PASS_WORD := GET_APPLICATION_PROPERTY(PASSWORD);
CONN_STRG := GET_APPLICATION_PROPERTY(CONNECT_STRING);
IF  USER_NAME = 'ADMINISTRATOR' THEN
Host('EXP '||USER_NAME||'/'||PASS_WORD||'@'||CONN_STRG||'  '||'FILE='||getpath||'copydata\'||USER_NAME||to_char(sysdate,'DD-MM-YYYY')||'.DMP'||'  '||'OWNER='||USER_NAME||'   '||'LOG='||getpath||'copydata\'||USER_NAME||to_char(sysdate,'DD-MM-YYYY')||'.TXT');
END IF;     END ;



جزاك الله كل خير

بتاريخ:
  • كاتب الموضوع

مشكور اخي الكريم جمال

بس لو تقلي فين اكتب الكود المكتوب وايش اضيف من عناصر على الفورم

وهل الكود نفسة اكتبة عشان عمل نسخة وكمان عشان استرجع نسخة

او يجب ان اغير شي في الكود

وجزاك الله كل خير

بتاريخ:

الأخ الكريم ، الأفكار كلها تعتمد أساساً علي أمر الـ Imp لإستيراد البيانات ، وأمر Exp لتصدير البيانات !!!

فبإمكانك صناعة ما تريدة !!!

إذا كنت لا ترغب في عرض إسم المستخدم وكلمة المرور للمستخدم العادي فيمكنك حذف مربعات النص ومن يم إدخال يدوي لإسم المستخدم وكلمة المرور كما تشاء

نفرض أن لديك مستخدم يدعي DB وكلمة المرور هي DB2008 ، قم بإدراج مربع نص واحد تحت إسم TXT_PATH ومن ثم أدرج 2 زر أمر ، الأول للتصدير ، والثاني للإستيراد ، وأكتب له الكود المناسب في حدث WHEN-BUTTON-PRESSED !!!

1- زر أمر التصدير :


HOST('Exp DB/DB2008 File=' || :TXT_PATH || ' Log=' || :TXT_PATH);



2-زر أمر إستيراد :


Host('Imp System/Manager FromUser=DB ToUser=DB File=' || :TXT_PATH);






شكراً

بتاريخ:
  • كاتب الموضوع

مشكور اخي

با اجرب الفكرة واشوف الناتج

ولكم جزيل الشكر

وجزاكم الله كل خير

  • بعد 2 أسابيع...
بتاريخ:

شكراً

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.