إنتقال للمحتوى

  • تسجيل الدخول عبر الفيس بوك تسجيل الدخول عبر تويتر Log In with LinkedIn Log In with Google      تسجيل دخول    
  • إنشاء حساب

صورة
- - - - -

طريقة حفظ ملف على قاعدة البيانات


13 رد (ردود) على هذا الموضوع

#1 Ahmad.Hasan

Ahmad.Hasan

    مشرف قسم الـ Forms & Reports والمشاريع

  • فريق الإشراف
  • 4,871 مشاركة
  • الاسم الأول:Ahmad
  • اسم العائلة:Hasan
  • البـلـد: Country Flag
  • المنصب الحالي:Oracle HCM Consultant

تاريخ المشاركة 15 February 2012 - 11:10 AM

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

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');

بالتوفيق.
  • scince و ahmed.arafa معجبون بهذا

.Oracle E-Business Suite R12 HCM Certified Implementation Specialist

 

.Oracle Fusion Human Capital Management 11g Human Resources Certified Implementation Specialist

 


#2 شمس

شمس

    مشترك

  • الأعضــاء
  • 123 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 15 February 2012 - 04:24 PM

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

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

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

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

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

#3 Ahmad.Hasan

Ahmad.Hasan

    مشرف قسم الـ Forms & Reports والمشاريع

  • فريق الإشراف
  • 4,871 مشاركة
  • الاسم الأول:Ahmad
  • اسم العائلة:Hasan
  • البـلـد: Country Flag
  • المنصب الحالي:Oracle HCM Consultant

تاريخ المشاركة 15 February 2012 - 04:26 PM

نعم يمكنك عمل ذلك...
استخدم Webutil

.Oracle E-Business Suite R12 HCM Certified Implementation Specialist

 

.Oracle Fusion Human Capital Management 11g Human Resources Certified Implementation Specialist

 


#4 شمس

شمس

    مشترك

  • الأعضــاء
  • 123 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 15 February 2012 - 04:30 PM

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

شكرا

#5 Ahmad.Hasan

Ahmad.Hasan

    مشرف قسم الـ Forms & Reports والمشاريع

  • فريق الإشراف
  • 4,871 مشاركة
  • الاسم الأول:Ahmad
  • اسم العائلة:Hasan
  • البـلـد: Country Flag
  • المنصب الحالي:Oracle HCM Consultant

تاريخ المشاركة 15 February 2012 - 04:39 PM

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


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;

.Oracle E-Business Suite R12 HCM Certified Implementation Specialist

 

.Oracle Fusion Human Capital Management 11g Human Resources Certified Implementation Specialist

 


#6 شمس

شمس

    مشترك

  • الأعضــاء
  • 123 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 15 February 2012 - 05:13 PM

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

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

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

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

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

شكرا جزيلا

#7 atoomy

atoomy

    عضو

  • الأعضــاء
  • 5 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 13 July 2012 - 09:16 PM

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

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

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

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

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

شكرا جزيلا



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

#8 abderrahmane82

abderrahmane82

    مشترك

  • الأعضــاء
  • 60 مشاركة
  • الاسم الأول:abderrahmane
  • اسم العائلة:abderrahmane
  • البـلـد: Country Flag

تاريخ المشاركة 15 July 2013 - 04:39 PM

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



#9 الكلمنجي

الكلمنجي

    عضو

  • الأعضــاء
  • 49 مشاركة
  • الاسم الأول:Mahmoud
  • اسم العائلة:Eltaieb
  • البـلـد: Country Flag
  • الاهتمامات:Software Developing

تاريخ المشاركة 15 July 2013 - 08:40 PM

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

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



#10 Ahmad.Hasan

Ahmad.Hasan

    مشرف قسم الـ Forms & Reports والمشاريع

  • فريق الإشراف
  • 4,871 مشاركة
  • الاسم الأول:Ahmad
  • اسم العائلة:Hasan
  • البـلـد: Country Flag
  • المنصب الحالي:Oracle HCM Consultant

تاريخ المشاركة 15 July 2013 - 11:14 PM

 

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

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

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

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

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

شكرا جزيلا



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

 

 

السلام عليكم

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


  • المبرمج الصاعد معجب بهذا

.Oracle E-Business Suite R12 HCM Certified Implementation Specialist

 

.Oracle Fusion Human Capital Management 11g Human Resources Certified Implementation Specialist

 


#11 بديع المعمري

بديع المعمري

    عضو

  • الأعضــاء
  • 14 مشاركة
  • الاسم الأول:بديع
  • اسم العائلة:المعمري
  • البـلـد: Country Flag

تاريخ المشاركة 18 January 2014 - 07:35 PM

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

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

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

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

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

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



#12 بديع المعمري

بديع المعمري

    عضو

  • الأعضــاء
  • 14 مشاركة
  • الاسم الأول:بديع
  • اسم العائلة:المعمري
  • البـلـد: Country Flag

تاريخ المشاركة 18 January 2014 - 07:41 PM

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

 

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 افيدنا الله يكون في عونك



#13 بديع المعمري

بديع المعمري

    عضو

  • الأعضــاء
  • 14 مشاركة
  • الاسم الأول:بديع
  • اسم العائلة:المعمري
  • البـلـد: Country Flag

تاريخ المشاركة 18 January 2014 - 08:00 PM

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

 

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;

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


تم التعديل بواسطة بديع المعمري, 18 January 2014 - 08:01 PM.


#14 Ahmad.Hasan

Ahmad.Hasan

    مشرف قسم الـ Forms & Reports والمشاريع

  • فريق الإشراف
  • 4,871 مشاركة
  • الاسم الأول:Ahmad
  • اسم العائلة:Hasan
  • البـلـد: Country Flag
  • المنصب الحالي:Oracle HCM Consultant

تاريخ المشاركة 22 January 2014 - 11:25 AM

 

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

 

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.


.Oracle E-Business Suite R12 HCM Certified Implementation Specialist

 

.Oracle Fusion Human Capital Management 11g Human Resources Certified Implementation Specialist