كيفية قراءة شفرة PL / SQL في أشكال أوراكل .FMT ملف؟

StackOverflow https://stackoverflow.com/questions/230248

  •  04-07-2019
  •  | 
  •  

سؤال

وأوراكل Forms10g يوفر أداة لتحويل أوراكل نماذج وحدات، من تنسيق ثنائي (.FMB) أن أوراكل نماذج أعمال البناء مع، إلى تنسيق نص (.FMT).

وعلى سبيل المثال، إذا قمت بإنشاء وحدة تسمى <م> mymodule.fmb مع أوراكل نماذج البناء، ومن ثم استدعاء

frmcmp module=mymodule.fmb script=yes batch=yes logon=no

ومن سطر الأوامر، نماذج أوراكل تحويل وفائدة إنشاء ملف باسم mymodule.fmt من ملف <م> mymodule.fmb . يفترض هذا الملف النص ليكون "قراءة" من قبل البشر، باستثناء رمز PL / SQL من المشغلات ووحدات البرنامج، الذي مقنن.

وعلى سبيل المثال، وهذا هو مقتطف من ملف .FMT مع قطعة من PL / SQL كود مقننة

DEFINE  F50P
BEGIN
   PP = 10
   PI = 3
   PN = 464
   PL = 1138
   PV = (BLONG)
<<"
00000049 00800000 00440000 00000000 00000031 0000000d 00000002 a0011519 
00002420 0000045e 001f0000 00165030 5f32335f 4f43545f 32303038 31365f33 
375f3039 00000006 42454749 4e0a0000 0042676f 5f626c6f 636b2820 27504149 
53455327 20293b0a 69662066 6f726d5f 73756363 65737320 7468656e 0a096578 
65637574 655f7175 6572793b 0a656e64 2069663b 00000005 0a454e44 3b000000 
1d574845 4e2d4e45 572d464f 524d2d49 4e535441 4e434520 28466f72 6d290000 

ولقد حاولت من أي وقت مضى إلى فك هذا النوع من الملفات، لتكون قادرة على استخراج شفرة PL / SQL من شكل؟

وسيكون من المفيد جدا أن تكون قادرة على بحث سلسلة في شفرة PL / SQL من الكثير من الملفات .FMT، بدلا من استخدام أوراكل نماذج البناء لفتح يدويا في كل من الملفات .FMB المقابلة، والبحث في سلسلة في كل واحد منهم.

وشكرا!

هل كانت مفيدة؟

المحلول

وجنبا إلى جنب مع API، لاحظ أنه إذا كنت تعمل في بداية هذه العملية عليك ربما تكون أفضل حالا توليد النسخة XML من الإصدار FMT. وFMT هو الاحتفاظ تنسيق أقدم للتوافق مع الإصدارات السابقة، وأدوات مثل أشكال أعلنت مؤخرا -> سوف أوراكل APEX تحويل يريد XML. كما أنه من الأسهل للقراءة.

في "الافراج أشكال 10G 1" (9.0.4) لتحويل XML هو برنامج سطر الأوامر منفصل. forms2xml. أعتقد أن هذا لا يزال صحيحا ل 10.1

وبالاضافة الى ذلك، XML أسهل للقراءة وتفسير.

نصائح أخرى

وحدات البايت هي قيم فقط عرافة من الشخصيات. على سبيل المثال: أخذ خط 4TH ووضعه موضع رمز الثعبان التالية:

[chr(x) for x in [0x53,0x45,0x53,0x27 ,0x20,0x29,0x3b,0x0a ,0x69,0x66,0x20,0x66 ,0x6f,0x72,0x6d,0x5f ,0x73,0x75,0x63,0x63 ,0x65,0x73,0x73,0x20 ,0x74,0x68,0x65,0x6e ,0x0a,0x09,0x65,0x78]]

ويعطي الإخراج التالية:

['S', 'E', 'S', "'", ' ', ')', ';', '\n', 'i', 'f', ' ', 'f', 'o', 'r', 'm', '_', 's', 'u', 'c', 'c', 'e', 's', 's', ' ', 't', 'h', 'e', 'n', '\n', '\t', 'e', 'x']

والتي هي أشكال التعرف PL / SQL. لذلك يبدو أنه لن يكون الكثير من العمل لخلق السيناريو الذي سيستغرق دليل ملفات FMT وإنتاج ملفات مع النص يمكن أن يتم البحث ذات الصلة.
المتعة!

وأوراكل نماذج 9I وفي وقت لاحق له API البرمجة للسماح لك أن تفعل بالضبط ما تصفون. سوف تحتاج إلى مراجعة وثائق أشكال الخاص بك للقيام بذلك، ولكن قد يكون أسرع من محاولة استخراج سلاسل الثنائية.

إذا كنت على استعداد لدفع ثمن الأدوات الحالية، استخدم ما يلي:

http://www.orcl-toolbox.com/

وformsAPI وFormsTools تلك تتيح لك القيام الاستخراج، بيانات الاختلاف والتغييرات والتحديثات إلى النماذج.

scroll top