vdcasino
betexper
imajbet
perabet
casinomaxi
ilbet

چنانچه در هریک از مراحل نصب یا کاربری نرم‌افزارها به مشکلی برخورد کرده‌اید یا هر سوال، اشکال یا ابهامی در این زمینه دارید، می‌توانید پاسخ خود را ابتدا در مطالب موجود جستجو و در صورت لزوم به عنوان یک مبحث جدید مطرح کنید، تا کارشناسان پشتیبانی به آن پاسخ دهند.

به منظور ثبت سوال جدید و یا پاسخ به موضوعات موجود، ابتدا می بایست از طریق صفحه مربوطه به سامانه وارد شوید. چنانچه نام کاربری دریافت نکرده اید، به صورت رایگان و از طریق صفحه مربوطه، ابتدا در سامانه ثبت نام نمایید.

انجمن های پشتیبانی سیمرغ نوسا

قبليقبلي Go to previous topic
بعديبعدي Go to next topic
آخرين ارسال 08 شهریور 1401 09:29 ق.ظ توسط  Tariverdi
آموزشی: آشکارسازهای گردش کار- 3: آشکارسازهای نوع SQL
 0 پاسخ
مرتب:
شما مجاز به پاسخ به اين پست نمي باشيد.
مولف پيغام ها


کاربر باتجربه


کاربر باتجربه


--
08 شهریور 1401 09:29 ق.ظ

    یکی از روشهای آشکارسازی* در سیستم مدیریت فرایندها، روش شناسایی و آشکارسازی داده های ذخیره شده در پایگاههای اطلاعاتی تحت SQL **است. این روش برای سیستمهایی است که رویدادهای خود را به شکل داده در پایگاههای اطلاعاتی ذخیره می کنند. بطور کلی در این روش، با یک دستور (Query) مناسب، وجود رکورد(های) جدید در پایگاه اطلاعاتی چک می شود و در صورت وجود، برای هر رکورد بازیابی شده، یک پیام (رخداد) منتشر می شود.

    *: پیش نیاز این مطلب، آشنایی با مفاهیم آشکارسازی است. برای اطلاعات بیشتر در این زمینه به مطلب آشکارسازها-1: مفاهیم مراجعه کنید.

    **: در حال حاضر، این امکان در پایگاههای Microsoft SQL Server و MySql تست شده و کار می کند.

    تعریف یک آشکارساز از نوع SQL

    برای تعریف یک آشکارساز جدید، مطابق شکل زیر، از منوی گردش کار، گزینه آشکارسازهای گردش کار را کلیک کنید:

     

    به این ترتیب، محاوره آشکارسازهای گردش کار به شکل زیر روی صفحه باز می شود:

     

    حال برای تعریف یک آشکارساز جدید، در نوار ابزار روی آیکون  کلیک کنید تا در فهرست آشکارسازها یک سطر جدید به شکل زیر ایجاد شود:

     

    حال روی سطر ایجاد شده، دبل کلیک کنید تا محاوره تنظیمات آشکارسازها به شکل زیر روی صفحه باز شود:

    همانطور که مشاهده می کنید، این محاوره شامل سه برگه (Tab) است که بطور پیش فرض برگه عمومی باز می شود. در این برگه تنظیمات عمومی تمام انواع آشکارسازها (از جمله نوع SQL) تعیین می شود.

    یک مثال : آشکارسازی استخدام کارمند جدید

    فرض کنید زمانی که یک کارمند استخدام می شود، اطلاعات او در سیستم پرسنلی ثبت می شود. حال ما می خواهیم ثبت یک کارمند جدید در سیستم پرسنلی را شناسایی و آشکارسازی کنیم و به تبع آن برای هر کارمند جدید یک پیام (رخداد) منتشر کنیم.

    تنظیمات برگه عمومی

    برای نمونه در شکل بالا، این تنظیمات برای آشکارساز کارمند جدید وارد شده است. این آشکارساز قرار است با یک Query مناسب در پایگاه اطلاعاتی سیستم پرسنلی، ثبت رکورد(ها) برای کارمند(های) جدید را تشخیص دهد و آشکارسازی کند. جزئیات این تنظیمات به شرح زیر است:

    کد: این کد بصورت اتوماتیک و توسط سیستم درج می شود.

    نام: در این قسمت یک نام فارسی برای آشکارساز وارد کنید. در این مثال عبارت استخدام کارمند جدید وارد شده است.

    نام لاتین: در این ناحیه در صورت تمایل می توانید یک نام انگلیسی برای آشکارساز وارد کنید.

    نوع: در اینجا نوع آشکارساز (پست الکترونیکی یا SQL) انتخاب می شود. همانطور که در مثال مشخص است، برای این مورد، گزینه SQL انتخاب شده است.

    محدودیت زمانی: اگر می خواهید عملیات آشکارسازی در محدوده زمانی خاصی انجام شود، در این ناحیه زمان (ساعت، دقیقه، ثانیه) شروع و زمان پایان را تعیین کنید. برای مثال ممکن است بخواهید این عملیات در زمان اداری (16- 8) انجام شود تا اگر خطایی رخ داد در زمان اداری رفع گردد.

    کلید حرفی شناسایی پیام: در این قسمت، عبارت کلیدی پیام تعیین می شود. در مثال فوق عبارت  WD_SQL_Employee به عنوان کلید حرفی تعیین شده است. برای امکان دسته بندی و مدیریت بهتر آشکارسازها، توصیه می شود برای آشکارسازهای SQL از این الگو استفاده کنید. یعنی عبارت WD_SQL_ را بصورت پیشوند در ابتدای عبارت حرفی درج کنید.

    غیرفعال: با تیک زدن این چک باکس، آشکارساز غیرفعال خواهد شد.

    تنظیمات برگه SQL

    محاوره برگه SQL به شکل زیر است:

    موارد موجود برای تنظیمات در این محاوره به شرح زیر است:

    آخرین کلید ذخیره شده SQL: از آنجایی که در حالت معمول، هر رویداد باید تنها یک بار آشکارسازی شود، بنابراین  به معیاری نیاز داریم که آخرین رویداد آشکارسازی شده را تعیین کند این معیار .در آشکار ساز نوع SQL ،کلید آخرین رکورد آشکارسازی شده است.  همانطور که در توضیحات این محاوره هم آمده، این کلید، در واقع اولین ستون ذکر شده در قسمت Select است که در این مثال، کلید کارمند (fi_Key) است (در شکل بالا این ستون با رنگ زرد برجسته شده است). در مثال بالا، آخرین کلید ذخیره شده 61 است.

    دستور SQL: در این ناحیه، Query مورد نظر برای شناسایی و آشکارسازی وارد می شود. در این مثال، یک Query برای شناسایی کارمند جدید، وارد شده است. برای درک بیشتر قضیه، در ادامه، به تحلیل این Query می پردازیم:

    Declare @UID nvarchar(250)

    Set @UID=N’%0:s’

    در خط اول متغیر UID تعریف می شود. در خط دوم، مقدار این متغیر برابر با آخرین کلید ذخیره شده ( (N’%0:s می گردد. حال از این پس UID معیار آشکارسازی مرحله بعد خواهد بود.

    Select top 1 fi_Key, PersCode=fi_Num,  FullName=fi_Name_SurName, MelliCode=fi_fi2,   BirthDate=fi_fi8, BirthPlace=fi_fi14, HireDate=fi_fi13, OrgPost=fi_fi21

    در این سطر، کلید (fi_Key) و ستونهای حاوی اطلاعات پرسنلی کارمند (کدپرسنلی، نام و نام خانوادگی، کدملی، تاریخ تولد و ...) تعیین و استخراج می شود.

    from _AccXP_hamayesh992._dbo.WFixInf

    در اینجا FromClause درج می شود. در این مثال، اطلاعات از جدول اطلاعات پرسنلی _WFixInf از پایگاه مالی _AccXP_hamayesh992استخراج می شود.

    where fi_Key > convert(int, @UID)

    در این سطر، شرط آشکارسازی تعیین می شود. به این صورت که رکوردهایی آشکارسازی می شود که کلید آنها (fi_Key) بزرگتر از مقدار عددی UID ( آخرین کلید ذخیره شده) باشد.

    حداکثر مدت زمان اجرای دستور SQL (ثانیه): در اینجا حداکثر زمان انتظار آشکارساز برای اجرای Query برحسب میلی ثانیه تعیین می شود. این مقدار بطور پیش فرض 30000 میلی ثانیه (30 ثانیه) می باشد یعنی این که آشکارساز به مدت 30 ثانیه در انتظار اجرای Query می ماند و  اگر در طول این مدت نتیجه ای دریافت نشود، آنگاه عملیات آشکارسازی متوقف می شود.

    مشاهده پیام (رخداد)های منتشر شده از آشکارساز

    همانطور که در تعریف مفاهیم آشکارساز گفته شد، برای هر رکوردی که آشکارسازی می شود، یک پیام (رخداد) منتشر (سیگنال) می شود. برای مشاهده، پیامهای منتشر شده، همانند شکل زیر، از منوی گردش کار، گزینه پیامهای ارسال شده برای گردش کارها را کلیک کنید:

     

    به این ترتیب، محاوره انتخاب و فیلترینگ پیامهای ارسالی به شکل زیر روی صفحه باز می شود:

     

    برای امکان مشاهده پیامهای از نوع رخداد، نباید هیچ فیلترینگی روی دسته بندی و نام گردش کار انجام شود، یعنی همانطور که در شکل مشخص شده است، فیلد دسته بندی گردش کار باید روی گزینه تمام دسته بندیهای گردش کار، و فیلد گردش کار روی گزینه تمام گردش کارها باشد. به این ترتیب فهرست رخدادهای ارسالی آشکارساز به شکل زیر نمایش داده می شود:

    برای امکان مشاهده پیامهای از نوع رخداد، نباید هیچ فیلترینگی روی دسته بندی و نام گردش کار انجام شود، یعنی همانطور که در شکل مشخص شده است، فیلد دسته بندی گردش کار باید روی گزینه تمام دسته بندیهای گردش کار، و فیلد گردش کار روی گزینه تمام گردش کارها باشد. به این ترتیب فهرست رخدادهای ارسالی آشکارساز به شکل زیر نمایش داده می شود:

    {"fi_Key":58,

    "PersCode":5,

    "FullName":"\u0628\u0647\u0646\u0627\u0645\u060C \u0646\u0638\u0631\u064A",

    "MelliCode":"1234567890",

    "BirthDate":536182200000,

    "BirthPlace":null,

    "HireDate":1647804600000,

    "OrgPost":69}

    نکته 1: کاراکترهای فارسی در این پارامتر، با Unicode نمایش داده می شود. برای مثال به محتوای FullName توجه کنید.

    نکته 2: تاریخها (مثلا تاریخ تولد) به شکل عدد نمایش داده می شود که برای نمایش به فرم تاریخ باید به این فرم تبدیل شوند

    پيوست ها
    شما مجاز به پاسخ به اين پست نمي باشيد.


    kurtkoy escort
    bostanci escort
    ankara escort
    comendo minha prima gordinha rajini murugan movie hd moglie con due negri calcaterra e lara scena hot mujeres con ropa interior transparente