الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال في فتح ملف واضافة المحتويات على القاعدة

مغلق
بدأه maram12 في 18 يناير 2006 · 8 رد · 3,526 مشاهدة · في قسم إدارة قاعدة البيانات أوراكل
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

كيف يمكنني أن أفتح ملف من أي نوع من الفورم و أخزنه على الداتا بيس و أقرأه من الداتا بيز

مثل الattachment في الإيميل

مثال :

لدي ملف word أريد إستدعاءه وتخزينه في جدول في الداتا بيس و قراته من خلال الفورم

و شكرا :rolleyes:

#2

إذا المسألة مسألة تخزين فليس فيها مشكلة .... يمكن أن تختار(تختاري) نوع الحقل bLOB لتخزين أي نوع من الملفات و الكود التالي يطرح لك تابع يقوم بتخزين أي ملف (بشرط وجوده على الجهاز المحلي (الجهار الذي يوجد عليه الفورم) ) ...........

جدول لتخزين أي نوع ملفات (كمثال صورة )
create table demo(photo_id number,photo blob)

create sequence blob_seq

p_dir_name هو اسم directory الذي قمنا بإنشائه على مستوى القاعدة باستخدام تعليمة

  create directory my_dir as 'D:\photo';

create or replace procedure load_file(p_dir_name varchar2,p_file_name varchar2)
is
  v_blob blob;
  v_bfile bfile;
begin
/* أولاً يجب اضافة سجل جديد لكنه لا يحوي على ملف . */
   insert into demo values (blob_seq.nextval,empty_blob())
   returning photo into v_blob;
/* هنا نضع مسار الملف حتى يتم تخزينه داخل الحقل   */
   v_bfile:=bfilename(p_dir_name,p_file_name);
   dbms_lob.fileopen(v_bfile);
--  تحميل الملف 
   dbms_lob.loadfromfile(v_blob,v_bfile,dbms_lob.getlength(v_bfile));
-- close the file
   dbms_lob.fileclose(v_bfile);
end;

يمكنك الآن استداعاء هذه الإجرائية من داخل الفورم

load_file('MY_DIR','pl2.pdf')

أما إذا كنت تريد من المستخدم أن يقوم بالاستعراض وتحميل الملف من جهازه فالمشكلة في Developer10 g تم إلغاء القدرة على جعل المستخدم يقوم بذلك و لكن تم التغلب على هذه المشكلة بأن طرحوا WEBUTIL و لكنها تحتاج إلى ( شوية ) جافا ........................

على كل حال ممكن حمل مثال يساعدك بالقصة (غداً إن شاء الله ) .................

#3

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

قمت بتنقيذ الكود و لم ينجح ظهر خطأ في التنفيذ

ارجو منك مساعدتي على الماسنجر الخاص بك ان استطعت

اسفة على الازعاج

تحياتي و تقديري

تم تعديل هذه المشاركة بواسطة maram12 في 19 يناير 2006 في 13:15

#4

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

لقد قمت بتجربة الأكواد و كانت ناحجة

شكرا جزيلا لك على مساعدتك

ارجو منك مساعدة اخرى : :(

كيف يمكنني قراءة ملف مخزن في جدول من نوع blob

للتاكد من انه قام بتخزين تلك الصورة

وشكرا لك

ارجو ان لا اكون اثقلت عليك بكثرة الاسئلة

#5

إذا كنت تريدين رؤية الصورة فما عليك سوى ربط عنصر image بالحقل الذي قمت بالتخزين فيه ...

#6

أريد أن أفتح ملف من أي نوع من خلال الفورم ، بعد تخزينه في الجدول بنوع BLOB

أرجو أن ترسل لي الطريقة أو أتحدث معك من خلال msn messanger

في أي وقت بين الساعة 9 صباحا و 4:30 عصراًُ

#7

سلام عليكم

سؤالين

الأول:

كل الأكواد اشتغلت الا الكود الأخير اللي هو

load_file('MY_DIR','pl2.jpg')

طبعا جربت احمل صوره

لكن اعطاني الأيرور التالي

SP2-0851: الأمر الذي يبدأ بـ "load_file(..." غير متاح في iSQL*Plus

مع العلم ان النسخة اللي استعملها هي

10.2.0.3.0

السؤل الثاني:

- أريد أن أفتح ملف كي اتأكد انه تم تخزينه،فكيف؟

تحياتي لكم

#8

يا أخي الأمر load_file كما هو ينفذ في Oracle Forms ..

أما إذا أردت تنفيذه داخل Sql Plus فعليك ب Execute load_file ..

#9

أنا فعلا ما أستخدم

Oracle Forms ..

لكن ما فهمت قصدك بـــ

اقتباس
فعليك ب Execute load_file ..

أنا كم مره احط موضوع يخص هذا لكن اتفاجأ بإقفاله

والسبب ((ان الحل موجود))

لي شهر ابحث عن الحل

لكن ما حصلته

كل إللي حصلته ما يناسبني

مثل هذا الموضوع يتكلم عن Oracle Forms ..

لذا يأست ماني عارف ويش اسوي وماني عارف كيف ووين اسأل أو أبحث

تحياتي

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…