الانتقال إلى المحتوى
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

بتاريخ:

السلام عليكم
كثرت الإسئلة حول حفظ ملف في قاعدة البيانات واليكم الطريقة التالية:

1- إنشاء جدول لحفظ البيانات كالتالي:


Create Table Email_Attachments(Id_Pk Integer Primary Key,
                              Fname Varchar2(50),
                              Image Blob);



2- إنشاء Directory وليكن إسمه Temp:

Create Or Replace Directory Temp As 'C:\';



3- إنشاء Procedure الذي يقوم على حفظ البيانات داخل الجدول:


Create Or Replace Procedure Load_File(Pi_Id In  Integer, 
                                     Pfname In Varchar2) Is
Src_File Bfile;
Dst_File Blob;
Lgh_File Binary_Integer;
Begin
Src_File := Bfilename('TEMP', Pfname);
 Insert Into Email_Attachments (Id_Pk,Fname,Image) Values (Pi_Id,Pfname, Empty_Blob())
  Returning Image Into Dst_File;
  Dbms_Lob.Open(Src_File, Dbms_Lob.File_Readonly);
  Lgh_File := Dbms_Lob.Getlength(Src_File);
  Dbms_Lob.Loadfromfile(Dst_File, Src_File, Lgh_File);
  Dbms_Lob.Close(Src_File);
 Commit;
End Load_File;
/ 



4- قم بتنفيذ البروسيجر للتأكد من انه تم حفظ البيانات:

Execute Load_File(1,'test.txt');



بالتوفيق.

بتاريخ:

مشكور اساتاذنا الفاضل

علي هذه الطريقة السلسه
ولكن تبقي مشكله عرضه

ثانية بعد حفظه علي الداتابيز ليس من الharddisk

يعني هل يمكن عمل فورم ومن الفورم اعرض المرفقات المحفوظه في الداتابيز وطبعا الملف ده ممكن يكون باي نوع فورمات يعني ورد بي دي اف تكست...

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

بتاريخ:

سلام عليكم
نعم باستخدام 10g
يمكن عمل ذلك بال webutil
لكن في 6i
كيف يتم عمل هذا

شكرا

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

السلام عليكم
جرب هذه الطريقة:


Declare
 Filename Varchar2(500);
Begin
 Filename:=Get_File_Name(' ',Null,Null,'Choose any directory.',Open_File,False);
 :Ti_Path:=Filename;  -- Here You Will Assign To You Form'S Field.
End;

بتاريخ:

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

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

لانك الان هتفتحها من الDARD DISK

يعني لو اتمسحت او عطل الHARD

ما استفدتش حاجة من الحفظ علي الداتابيز

شكرا جزيلا

  • بعد 4 شهور...
بتاريخ:

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

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

لانك الان هتفتحها من الDARD DISK

يعني لو اتمسحت او عطل الHARD

ما استفدتش حاجة من الحفظ علي الداتابيز

شكرا جزيلا



اواجه نفس المشكلة ارجو مساعدتي
  • بعد 1 سنة...
بتاريخ:

مشكوووووووووووور جدا
شغال 100/100
جعلها الله في ميزان حسناتك

بتاريخ:

الف الف شكر يا كبير 

في انتظار المزيد

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

 

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

 

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

 

لانك الان هتفتحها من الDARD DISK

 

يعني لو اتمسحت او عطل الHARD

 

ما استفدتش حاجة من الحفظ علي الداتابيز

 

شكرا جزيلا

 

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

 

 

السلام عليكم

اذا الملف تم حفظه في الداتا بيز حتى لو اتمسح من الهارد سيبقى الملف مخزن في الداتابيز ويمكنك الرجوع إليه متى شئت...

  • بعد 6 شهور...
بتاريخ:

مشكور اساتاذنا الفاضل

 

علي هذه الطريقة السلسه

ولكن تبقي مشكله عرضه

 

ثانية بعد حفظه علي الداتابيز ليس من الharddisk

 

يعني هل يمكن عمل فورم ومن الفورم اعرض المرفقات المحفوظه في الداتابيز وطبعا الملف ده ممكن يكون باي نوع فورمات يعني ورد بي دي اف تكست...

 

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

اخي الكريم لم يعمل معي هذا الاجراء عند الاستدعاء

بتاريخ:

السلام عليكم

جرب هذه الطريقة:

 

 

Declare
  Filename Varchar2(500);
Begin
  Filename:=Get_File_Name(' ',Null,Null,'Choose any directory.',Open_File,False);
  :Ti_Path:=Filename;  -- Here You Will Assign To You Form'S Field.
End;

المشكلة تظهر هنا Source of PACKAGE BODY SYS.DBMS_LOB is not available افيدنا الله يكون في عونك

بتاريخ:

السلام عليكم

جرب هذه الطريقة:

 

 

Declare
  Filename Varchar2(500);
Begin
  Filename:=Get_File_Name(' ',Null,Null,'Choose any directory.',Open_File,False);
  :Ti_Path:=Filename;  -- Here You Will Assign To You Form'S Field.
End;

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

تم تعديل بواسطة بديع المعمري

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

 

السلام عليكم

جرب هذه الطريقة:

 

 

Declare
  Filename Varchar2(500);
Begin
  Filename:=Get_File_Name(' ',Null,Null,'Choose any directory.',Open_File,False);
  :Ti_Path:=Filename;  -- Here You Will Assign To You Form'S Field.
End;

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

 

 

السلام عليكم

الكود السابق يكتب داخل الفورم للإصدار 6i.

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

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

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

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

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

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.