المقدمة
يصف هذا المستند كيفية تكوين وظيفة DBLookup في إدارة الاتصال الذكية (ICM) من أجل إحضار البيانات من قاعدة بيانات خارجية واستخدامها في البرنامج النصي. لتوضيح كيفية تكوين الوظيفة، يستخدم هذا المستند سيناريو مثال حيث يحاول المستخدم تحديد ما إذا كان المتصل جزءا من قائمة (على سبيل المثال، لتوفير خدمة الأولوية).
المتطلبات الأساسية
المتطلبات
لا توجد متطلبات خاصة لهذا المستند.
المكونات المستخدمة
لا يقتصر هذا المستند على إصدارات برامج ومكونات مادية معينة.
تم إنشاء المعلومات الواردة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المُستخدمة في هذا المستند بتكوين ممسوح (افتراضي). إذا كانت شبكتك مباشرة، فتأكد من فهمك للتأثير المحتمل لأي أمر.
التكوين
- قم بإنشاء قاعدة البيانات.
أولا، قم بإنشاء قاعدة البيانات. في Miscrosoft SQL Server Management Studio، انقر بزر الماوس الأيمن فوق قواعد البيانات واختر قاعدة بيانات جديدة:
بعد ذلك، قم بإنشاء جدول في قاعدة البيانات هذه. انقر بزر الماوس الأيمن فوق الجداول ضمن قاعدة البيانات التي تم إنشاؤها حديثا. بعد ذلك، يمكنك إضافة بعض الأعمدة:
ملاحظة: تعريف كافة حقول الأعداد الصحيحة في الجداول التي تم الوصول إليها بواسطة عقدة DBLookup على أنها ليست NULL. أنواع البيانات هذه فقط هي المعتمدة لقواعد بيانات SQL: SQLINT1 (Tinyint) و SQLINT2 (SmallInt) و SQLINT4 (int) و SQLCHAR (char) و SQLVARCHAR (varchar) و SQLFLT4DBFLT4 (real) و SQLFLT8DBFLT8 (float) و SQLDATETIME (datetime). يجب تعريف كافة الحقول باستثناء SQLDATETIME و SQLVARCHAR و SQLCHAR كحقول غير خالية. يمكنك تعريف هذه الحقول الثلاثة ك NULL.
أختر نوع بيانات varCHAR لأنه يسمح بالمرونة أن يكون لها أيضا حروف في الرقم. لتعيين عمود الهاتف كمفتاح أساسي، قم بإلغاء تحديد السماح بقيم خالية في مربع الاختيار. لتعيين هذا العمود كمفتاح أساسي، انقر بزر الماوس الأيمن واختر تعيين المفتاح الأساسي:
بمجرد اكتمال هذه الخطوات، احفظ التغييرات. الآن، يمكنك إضافة بيانات إلى الجدول:
- قم بتكوين ICM للاتصال بقاعدة البيانات هذه.
أستخدم "إدارة التكوين" ضمن "أدوات المستكشف" لفتح مستكشف بحث قاعدة البيانات. بعد ذلك، قم بإضافة قاعدة البيانات والعمود اللذين تم إنشاؤهما حديثا:
أنت تحتاج أيضا أن يشكل ال username/كلمة in order to login إلى القاعدة معطيات لأن النظام يستعمل sa مع كلمة فارغ افتراضيا. قم بتكوين اسم المستخدم/كلمة المرور في السجل باستخدام هذا المفتاح:
HKEY_LOCAL_MACHINE\SOFTWARE\Cisco Systems,
Inc.\ICM\inst1\RouterA\Router\CurrentVersion\Configuration\Database\SQLLogin
يوضح هذا المثال كيفية تكوين المفتاح مع مستخدم المجال:
\\POD2SPRAWLA\DBLookup=(ZFB\Administrator,password)
ملاحظة: لا يستعمل الحروف الخاصة التالية في الكلمة: "="، ")"، "("، "،"، "؟"، "\"، "/"
-
تأكد من إختيار تمكين توجيه قاعدة البيانات على شاشة تحرير الموجه، والتي يمكن الوصول إليها في إعداد الموجه على واجهة الويب:
- أستخدم قاعدة البيانات هذه في البرنامج النصي.
قم بإضافة عقدة DBLookup وحدد الجدول الذي تريد البحث فيه. يوضح هذا المثال البحث في جدول الأولوية باستخدام CallLineID. نظرا لأنه قد تم إختيار NCHAR كنوع بيانات، يجب عليك تحويل الرقم إلى سلسلة قبل إدخال البحث:
يقع البحث في العمود الذي تم تعيينه كمفتاح أساسي. لاحقا، يمكنك إستخدام بيانات من نفس الصف لملء متغيرات الاستدعاء. يوضح هذا المثال إضافة عمود آخر، City، في كل من قاعدة البيانات وإدارة التكوين، والذي يمكن تعبئته في البرنامج النصي:
التحقق من الصحة
أستخدم هذا القسم لتأكيد قدرة عامل قاعدة البيانات على الاتصال بقاعدة البيانات الخارجية. إنشاء ملف txt dbw.txt يحتوي على السجلات منذ آخر إعادة تشغيل لعملية عامل قاعدة بيانات (DB):
C:\Users\Administrator.ZFB>cdlog
ra
C:\icm\inst1\ra\logfiles>dumplog dbw /o /ms /last
تحقق من قدرة عامل قاعدة البيانات على الاتصال بقاعدة البيانات باستخدام dbw.txt:
12:39:08:413 ra-dbw Trace: Attempting integrated security open of
POD2SPRAWLA using ZFB\Administrator
12:39:08:451 ra-dbw Trace: Sucessfully impersonated ZFB\Administrator
12:39:08:476 ra-dbw Trace: 'id' is column 2 in sysobjects.
12:39:08:477 ra-dbw Trace: ID for table Priority is 5575058
12:39:08:484 ra-dbw Trace: Columns for Priority:
12:39:08:484 ra-dbw Trace: Column 1: Phone, type=47, length=30
12:39:08:536 ra-dbw Trace: Primary key for Priority is Phone, column 1.
12:39:08:557 ra-dbw Trace: Created connection to POD2SPRAWLA,DBLookup for thread 0
12:39:08:557 ra-dbw Trace: Created connection to POD2SPRAWLA,DBLookup for thread 1
12:39:08:558 ra-dbw Trace: Created connection to POD2SPRAWLA,DBLookup for thread 2
12:39:08:558 ra-dbw Trace: Created connection to POD2SPRAWLA,DBLookup for thread 3
12:39:08:558 ra-dbw Trace: Created connection to POD2SPRAWLA,DBLookup for thread 4
12:39:08:558 ra-dbw Trace: ScriptTable Piority is now available.
12:39:08:559 ra-dbw Trace: ScriptTable Piority (ID 5000) connected to
POD2SPRAWLA,DBLookup,Priority
12:39:08:559 ra-dbw Trace: Internal connect for POD2SPRAWLA,DBLookup,Priority
12:39:08:559 ra-dbw Trace: 'id' is column 2 in sysobjects.
12:39:08:560 ra-dbw Trace: ID for table Priority is 5575058
12:39:08:560 ra-dbw Trace: Columns for Priority:
12:39:08:560 ra-dbw Trace: Column 1: Phone, type=47, length=30
12:39:08:561 ra-dbw Trace: Primary key for Priority is Phone, column 1.
12:39:08:561 ra-dbw Trace: Column Phone (ID 5002) is table column 1, type 47.
12:39:08:561 ra-dbw Trace: ScriptTable Piority (ID 5000) connected to
POD2SPRAWLA,DBLookup,Priority
تعرض سجلات عامل DB هذه الاستجابة عند عدم وجود إدخال مطابق لعمود المفتاح الأساسي (يتم تشغيله بواسطة عقدة DBLookup في البرنامج النصي):
13:24:05:294 ra-dbw Trace: Queue a lookup request
13:24:05:295 ra-dbw Trace: DBWorker Thread 0 (ID 350760 Table:Priority):
Received request: transactionID 1
13:24:05:295 ra-dbw Trace: DBWorker Thread 0 (ID 350760),transactionID 1,
Attempt to read the record:
13:24:05:295 ra-dbw Trace: DBWorker transactionID 1, Failed! result=1
عندما يكون هناك تطابق، هذا هو الرد:
13:25:25:810 ra-dbw Trace: Queue a lookup request
13:25:25:810 ra-dbw Trace: DBWorker Thread 1 (ID 354428 Table:Piority):
Received request: transactionID 2
13:25:25:810 ra-dbw Trace: DBWorker Thread 1 (ID 354428),transactionID 2,
Attempt to read the record:
13:25:25:811 ra-dbw Trace: DBWorker Thread 1 (ID 354428),transactionID 2,
Succeeded.
استكشاف الأخطاء وإصلاحها
لا تتوفر حاليًا معلومات محددة لاستكشاف الأخطاء وإصلاحها لهذا التكوين.