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

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

صورة
- - - - -

سؤل حول طباعة متغير من نوع Clob


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

#1 faisal_mushal

faisal_mushal

    مشترك

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

تاريخ المشاركة 30 June 2008 - 08:03 AM

جربت اطبع المتغير بهذه الطريقة ولكن لم تنفع

SET SERVEROUTPUT ON 
DECLARE 

C  CLOB;

BEGIN
C:=get_table_md;
DBMS_OUTPUT.PUT_LINE(C);
END;

وظهرت الرسالة التالية

DECLARE
*

ERROR at line 1:
ORA-20000: ORU-10028: line length overflow, limit of 255 chars per line
ارجو منكم المساعدة اخواني

تم التعديل بواسطة faisal_mushal, 30 June 2008 - 08:15 AM.

[Quraan] إن الله يحب احدكم اذا عمل عملاً أن يتقنه [/Quraan]


faisal_mushal@hotmail.com

#2 MMA

MMA

    مشرف سابق وعضو مميز

  • المجموعة الماسية
  • 1,019 مشاركة
  • الاسم الأول:Mostapha
  • اسم العائلة:Abd El-Salam
  • البـلـد: Country Flag
  • المنصب الحالي:المؤسسة المصرية لتبسيط العلوم - عضو مؤسس - مستشار تقني

تاريخ المشاركة 30 June 2008 - 02:09 PM

هذا يعني أن الدالة DBMS_OUTPUT.PUT_LINE لا تقبل أكثر من 255 حرف !!!


شكراً

مهندس/ مصطفي محمود عبد السلام   
العضو المؤسس بالمؤسسة المصرية لتبسيط العلوم
والمستشار التقني

(برمجيات - نظم معلومات - شبكات)

.

 

( 01098570165 )

.

.

.

( MMA_Programmer@Yahoo.com )

 


#3 hanyfreedom

hanyfreedom

    مشرف سابق وعضو مميز

  • المجموعة الماسية
  • 1,481 مشاركة
  • البـلـد: Country Flag
  • الاهتمامات:Chess , Sudoku

تاريخ المشاركة 14 July 2008 - 06:35 AM

ده اللى ظهر عندى بالظبط :-
SQL> DECLARE
  2  C  CLOB;
  3  BEGIN
  4  C:=get_table_md;
  5  DBMS_OUTPUT.PUT_LINE(C);
  6  END;
  7  /
C:=get_table_md;
   *
ERROR at line 4:
ORA-06550: line 4, column 4:
PLS-00201: identifier 'GET_TABLE_MD' must be declared
ORA-06550: line 4, column 1:
PL/SQL: Statement ignored

لا يوجد وجود لرسالة الخطاء التى ذكرتها انت .
و انا اعتقد ان هذا هو الخطاء الطبيعى الذى من المفترض ان يظهر لأن ال get_table_md غير معرف فى ال declaration section

ال CLOB بتستخدم لتخزين البيانات ال char وال varchar2 بمساحات عالية تصل ل 4 جيحا ، و لذلك فهى تستخدم لتخزين القصص او الرويات او اى كتب بأحجام كبيرة .

و أعتقد ان هذا هو الكود الذى تبحث عنه :-
DECLARE
C  CLOB;
BEGIN
C:= ' The technique is almost exclusively applied for arpeggios, with a common shape being the one- or two-octave stacked triad; or in scalar terms the first (tonic), third (mediant) and fifth (dominant) of a scale, repeated twice with an additional tonic added to the highest point in the shape. For example, an A minor stacked triad would notate as A-C-E-A-C-E-A. When these series of notes are played quickly up and down as an arpeggio, they are notably classical-sounding as opposed to more blues-based progressions. The ability to move the shape of an arpeggio up and down the fretboard in order to, or because of, a change in key lends itself to being the primary choice of guitar players, helping ease the use of what is considered a difficult technique of guitar performance. ';
DBMS_OUTPUT.PUT_LINE(C);
END;
/

أريد أن أضيف ....... أن سبب ظهور الخطاء الذى لديك ORA-20000 هو ان ال Buffer لديك مساحته قليلة بالنسبة لل output الذى يفترض خروجه على البرنامج ( ال SQL*PLUS ) .

قم بتنفيذ الكود التالى قبل تنفيذك لأى كود أخر :-

set serveroutput on size 10000000

و أعتقد بذلك ، ان مشكلة رسالة ال ORA-20000 لن تظهر لك مرة أخرى .

و بالتوفيق

تم التعديل بواسطة hanyfreedom, 14 July 2008 - 06:44 AM.


#4 faisal_mushal

faisal_mushal

    مشترك

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

تاريخ المشاركة 14 July 2008 - 08:59 AM

مشكور اخي على هذا الرد المقنع ولكن
get_table_md; هو عبارة عن أجراء موجود عندي

وتم حل المشكلة
[Quraan] إن الله يحب احدكم اذا عمل عملاً أن يتقنه [/Quraan]


faisal_mushal@hotmail.com