External Procedures
نشر بواسطة : Obay Salah , November 19, 2024
من الضروري إعداد المستمع حتى يتمكن من قبول واستكمال استدعاء الإجراءات الخارجية، من خلال إعداد المستمع يمكنك استدعاء واستخدام إجراء مكتوب خارج قاعدة بيانات Oracle وبلغة أخرى مثل Java أو C++ أو C.
كما هو الحال في تسجيل الInstance في المستمع لحظة بدء ﺍلSession ، كذلك هو الحال عند استدعاء إجراء خارجي من داخل قاعدة البيانات، يجب تسجيل الexternal procedure agent في المستمع، ولكن للأسف لا يمكن إجراء التسجيل تلقائيًا كما هو الحال مع ﺍل dynamic instance registration،، لذلك يجب على مسؤول قاعدة البيانات إجراء التسجيل يدويًا
عن طريق تحرير ملف
Listener.ora أو من خلال Enterprise Manager أو من خلال أداة .NET Manager.
هذا مثال لملف Listener.ora حيث يسمى المستمع ext_proc_listener، ويخدم هذا المستمع البروتوكول المسمى IPC، ولا يستطيع هذا المستمع التعامل مع أي إجراء خارجي غير بروتوكول IPC، ويعمل على منفذ يسمى ext_proc1 ويجب أن يكون المنفذ الوحيد في الخادم. ستمر جميع طلبات EPC عبر برنامج extproc.exe،
وهو برنامج موجود في دليل ORACLE_HOME\bin وهو ملف قابل للتنفيذ يتلقى طلبات EPC، لذا في قائمة SID في ملف Listener.ora يجب عليك تضمين هذا في متغير يسمى PROGRAM.
بالطبع، لإنشاء وتنفيذ إجراءات خارجية، يجب عليك اتباع الخطوات التالية:
1- إنشاء الإجراء الخارجي وإنشاء رابط إليه.
2- إنشاء ﺍلOracle Library.
3- إنشاء ﺍلPL/SQL Procedure الذي يستدعي الإجراء الخارجي.
خطوات معالجة الإجراءات الخارجية:
1- يقوم ﺍلProcess User باستدعاء ﺍلPL/SQL Program
2- تقوم ﺍلServer Process بتنفيذ ﺍلPL/SQL Program ، لاحظ أنه يحتوي على استدعاء لإجراء خارجي.
3- يقوم ﺍلPL/SQL Program بتمرير هذا الطلب إلى المستمع لمعالجة موضوع استدعاء الإجراء الخارجي.
4- يقوم المستمع بإنشاء استدعاء إلى ﺍلEXTPROC Agent المتخصص في تنفيذ الإجراءات الخارجية.
5- يقوم EXTPROC بتحميل ﺍلShared Library، لاحظ أنه يجب إنشاء ﺍلLibrary كخطوة سابقة من خلال أمر create library util_lib.
6- ثم يقوم ﺍلEXTPROC Agent بتنفيذ الإجراء الخارجي.
7- وأخيراً يتم إرجاع البيانات إلى الخادم.
Comments
لايوجد تعليق حتى الان