ASP (صفحات الخادم النشطة) هي إحدى الأدوات التي تقترحها Microsoft لتطوير تطبيقات الإنترنت ويتم تحقيق الاتصال بين ASP وقاعدة البيانات بشكل عام من خلال ADO (كائن البيانات النشط)، كما ورد في تقرير "عالم الكمبيوتر" في 20 مارس 2000 كما تم تقديمه. في المقالة "استخدام ASP لتشغيل قاعدة بيانات SQL Server"، يمكن لـ ADO دعم Microsoft SQL Server بشكل كامل، ولكن هناك بعض الصعوبات مع خدمات قاعدة بيانات ORACLE المستخدمة على نطاق أوسع ولها آليات أكثر تعقيدًا إذا كنت ترغب في إنشاء بعض وظائف الاستعلام البسيطة ، ADO يكفي إذا كنت ترغب في الاستفادة بشكل أفضل من الوظائف الفريدة لقاعدة بيانات ORACLE، مثل الإجراء المخزن، والوظيفة المخزنة، وما إلى ذلك، فيجب عليك استخدام أداة قوية أخرى للوصول إلى خدمات قاعدة بيانات ORACLE باستخدام ASP ---Oracle Object for OLE. خادم كائنات أوراكل (خادم كائنات أوراكل). تشرح هذه المقالة من خلال مثال كيفية استخدام عناصر التحكم التي يوفرها خادم كائن ORACLE في ASP لتحقيق الوصول إلى قاعدة بيانات ORACLE، وتناقش كيفية الحفاظ على قيود التكامل لقاعدة بيانات الشبكة.
----Oracle Object for OLE هو منتج تشتد الحاجة إليه تم تطويره بواسطة ORACLE لوصول العميل إلى قواعد البيانات، وهو يعتمد على Windows 95/98/NT ويمكن الوصول إليه بواسطة جميع التطبيقات وقواعد بيانات ORACLE المتوافقة مع OLE. مثل ASP وVisual Basic overs97 وما إلى ذلك، يتضمن Oracle Object for OLE خادم كائنات ORACLE (خادم كائنات Oracle) وتحكم بيانات ORCLE (تحكم بيانات Oracle) ومكتبة فئة كائن ORACLE (كائنات Oracle لمكتبة فئة OLE C++) وثلاثة منتجات أخرى.
---- بالمقارنة مع ADO، يعد خادم كائنات ORACLE منتجًا مخصصًا لتطوير تطبيقات قواعد بيانات ORACLE ويتميز بالمزايا التالية:
---- (1) يعمل الاتصال بخادم قاعدة البيانات بكفاءة. لأن ADO يتصل بخادم قاعدة البيانات من خلال ODBC، ويتصل خادم كائن ORACLE بخادم قاعدة البيانات من خلال SQL*NET الخاص بـ ORACLE.
---- (2) يمكن الاستفادة بشكل أفضل من الوظائف الفريدة لقاعدة بيانات ORACLE. مثل الإجراء المخزن أو الوظيفة المخزنة أو الحزمة أو المؤشر المتعدد.
---- هذا المثال عبارة عن برنامج صغير للاستعلام عن دفاتر العناوين وإدخالها. يمكن للمستخدمين الاستعلام عن جدول دفتر العناوين من خلال المتصفح، أو إدخال المعلومات الخاصة بهم ليقوم الآخرون بالاستعلام عنها.
---- هيكل جدول دفتر العناوين كما يلي:
الاسم خالي؟
------------------------------- -------- ----
الاسم ليس حرفًا فارغًا(8)
عنوان الحرف(20)
شار الهاتف(20)
البريد الإلكتروني VARCHAR2(30)
---- أولاً: تكوين البيئة:
----قم بتثبيت البرنامج التالي على خادم الويب وقم بتكوينه:
---- (1) خادم الويب الأساسي (WEB SERVER) وASP والبرامج الأخرى
---- (2) كائن Oracle لـ OLE2.x
---- (3) SQL*Net Client أو Oracle Net8 Client 8. بعد التثبيت، استخدم Sql*Net Easy Configuration لإنشاء اسم مستعار لقاعدة البيانات (الاسم المستعار لقاعدة البيانات)، وهو الاسم المستعار الذي يستخدمه ASP للاتصال بقاعدة البيانات.
---- اثنين. تحقيق الوظيفة
---- (1) الاستعلام: استخدم ASP للحصول على البيانات من جدول دفتر عناوين قاعدة البيانات (TSB1) وعرض البيانات على الشاشة. مفتاح الاستعلام هو تحديد ما إذا كان الاتصال بقاعدة البيانات ناجحًا. يحتوي خادم كائن ORACLE نفسه على آلية للتحكم في الأخطاء يمكنها الإبلاغ عن أخطاء اتصال قاعدة البيانات.
<أتش تي أم أل>
<tile>برنامج الاستعلام</title>
<الجسم>
<%
على خطأ استئناف المقبل
'الاتصال بقاعدة البيانات
set orasession=createobject
("OracleInprocServer.XOraSession")
set oradatabase=orasession.
dbopendatabase("axp03"،"scott/tiger"،0)
'معالجة الأخطاء
إذا كان err.number>0 ثم
Response.write"< h4 >التحكم في خطأ asp< /h4 >"
Response.write"مصدر خطأ ASP:"&err.source &"< br >"
Response.write"رمز خطأ ASP:"&err.number&"< br >"
Response.write"وصف خطأ ASP:"&err.description&"< br >"
خطأ. واضح
Response.write"< h4 >التحكم في أخطاء Oracle OLE< /h4 >"
Response.write" رمز خطأ أوراكل:
"&OraSession.LastServerErr&"< br >"
Response.write" وصف خطأ أوراكل:
"&OraSession.LastServerErrText&"< br >"
آخر
'استفسار
sql = "اختر * من tsb1"
تعيين oradynaset=oradatabase.dbcreatedynaset(sql,0)
الاستجابة.كتابة"< h3 >النتيجة< /h3 >"
Response.write"< حدود الجدول=5 >< tr >"
لـ i=0 إلى oradynaset.fields.count-1
استجابة.كتابة"<td>"
Response.write oradynaset.fields(i).name & " "
استجابة.كتابة"< /td >"
التالي
استجابة.كتابة"< /tr >"
افعل حتى oradynaset.eof
استجابة.كتابة"<tr>"
لـ i=0 إلى oradynaset.fields.count-1
استجابة.كتابة"<td>"
Response.write oradynaset.fields(i).value
استجابة.كتابة"< /td >"
التالي
استجابة.كتابة"< /tr >"
oradynaset.dbmovenext
حلقة
استجابة.كتابة"< /الجدول >"
'أغلق قاعدة البيانات
oradatabase. Close
تعيين orasesion=لا شيء
نهاية إذا
%>
</الجسم>
</أتش تي أم أل>
---- فيما يلي صورة نتيجة الاستعلام الخاصة بالبرنامج:
دفتر العناوين
الاسم العنوان الهاتف البريد الإلكتروني
تشانغ لينغ رقم 5 طريق هوبى، مدينة مانشان 0555-2887765 [email protected]
لين شيانغ رقم 9 طريق هونان، مدينة مانشان 0555-2223856 [email protected]
رقم 504، المبنى 4، طريق دينج جوهونج للتعدين 0555-2474748 [email protected]
غرفة 507، المبنى 7، جامعة تشينغداو للمحيطات، ليتشنغ 0464-32456678 [email protected]
رقم 807، المبنى 7، مجتمع وانغ جوزاي للتعدين 0555-3445454 [email protected]
رقم 405، مبنى 17، طريق هونغتشي الجنوبي، دينغ قانغ 0555-2883721 [email protected]
رقم 607، مبنى 7، طريق باوجيانجشي 0554-4566777 [email protected]
---- (2) أدخل معلوماتك الخاصة: استخدم ASP لإدراج البيانات المقدمة من قبل المستخدم على المتصفح في جدول دفتر عناوين قاعدة البيانات (TSB1). تحتوي قاعدة بيانات ORACLE على مجموعة من آليات تقييد التكامل، وبالتالي فإن عملية الإدراج ليس من السهل فقط إدراج البيانات في الجدول بكفاءة، والتحقق من قيود التكامل. سيتم رفض إدراج البيانات التي لا تفي بالمتطلبات إذا لم يتم أخذ المعالجة في الاعتبار في البرنامج، فسيتم مقاطعة البرنامج بسبب الخطأ تم الإبلاغ عنها بواسطة خادم قاعدة البيانات أثناء وقت التشغيل. يمكن لكائن ERR في ASP الإبلاغ عن مصدر الخطأ ورمز الخطأ ووصف الخطأ وما إلى ذلك، ويمكن أن يقود البرنامج إلى معالجة الأخطاء.
---- فيما يلي برامج، أحدهما هو Insert.htm، وهو واجهة إدخال للمستخدمين لإدخال معلوماتهم الخاصة، والآخر هو Insert.asp، وهو المسؤول عن إدراج معلومات إدخال المستخدم في قاعدة البيانات وتنفيذ الأخطاء التحقق.
إدراج.htm:
<أتش تي أم أل>
<الرأس>
< التعريف http-equiv = "لغة المحتوى"
المحتوى = "zh-cn">
< التعريف http-equiv = "نوع المحتوى"
المحتوى = "نص/html؛ مجموعة الأحرف = gb2312">
< اسم التعريف = "المولد" المحتوى =
"مايكروسوفت فرونت بيج 4.0">
< اسم التعريف = "ProgId" المحتوى =
"FrontPage.Editor.Document">
<title>يرجى ترك معلوماتك</title>
<//الرأس>
<الجسم>
< p align="center" >الرجاء إدخال معلوماتك</p>
< طريقة النموذج = "post" action = "insert.asp" >
اسم:
<نوع الإدخال = "نص" اسم = "اسم" حجم = "8" > <ر >
عنوان:
< نوع الإدخال = "نص" اسم = "عنوان" حجم = "20"> <ر>
الهاتف:
< نوع الإدخال = "نص" اسم = "الهاتف" حجم = "20" > < بر >
البريد الإلكتروني: < input type = "text" name = "email" size = "20" > < br >
< نوع الإدخال = "إرسال" القيمة = "موافق">
< نوع الإدخال = "إعادة تعيين" القيمة = "إلغاء" >< br >
< / النموذج>
</الجسم>
</أتش تي أم أل>
----ما يلي هو واجهة إدخال المستخدم:
الرجاء إدخال اسم المعلومات الخاصة بك:
عنوان:
الهاتف:
بريد إلكتروني:
إدراج.asp:
<أتش تي أم أل>
<الجسم>
<%
'الاتصال بقاعدة البيانات
set orasession=createobject
("OracleInprocServer.XOraSession")
set oradatabase=orasession.
dbopendatabase("axp03"،"scott/tiger"،0)
'تحويل المعلومات التي أدخلها المستخدم إلى عبارات SQL
sql = "أدخل في قيم tsb1
(" &chr(39)&request("name")&chr(39) &"،_
&chr(39)&request("العنوان")&chr(39)&"،_
&chr(39) & طلب("هاتف")&chr(39) &"،"_
&chr(39)&request("البريد الإلكتروني")&chr(39)&")"
'قم بتشغيل عبارة إدراج SQL
oradatabase.dbEXECUTESQL(sql)
'التحقق من وجود أخطاء في انتهاك قيود السلامة
إذا كان الخطأ رقم > 0، فحينئذٍ
Response.write"< h4 >التحكم في خطأ asp< /h4 >"
Response.write"مصدر خطأ ASP:"&err.source &"< br >"
Response.write"رمز خطأ ASP:"&err.number&"< br >"
Response.write"وصف خطأ ASP:"&err.description&"< br >"
آخر
'اكتمل الإدراج، ارجع
Response.write "اكتمل الإدراج، < a href=insert.htm > يُرجع... </a >"
نهاية إذا
%>
</الجسم>
</أتش تي أم أل>
----ما سبق هو بعض من تجاربي في استخدام أدوات ASP لنقل معلومات قاعدة بيانات ORACLE الأصلية إلى تطبيقات الإنترنت. المثال بسيط للغاية ويهدف إلى توضيح المبدأ. كما استخدمت الإجراء المخزن والوظيفة المخزنة والحزمة انتظر برنامج ASP لتسريع وظائف ORACLE الفريدة وتحسين الكفاءة. آمل أن يكون مصدر إلهام للجميع، يرجى الكتابة للتواصل مع بعضهم البعض.