vdcasino
betexper
imajbet
perabet
casinomaxi
ilbet

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

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

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

قبليقبلي Go to previous topic
بعديبعدي Go to next topic
آخرين ارسال 16 آبان 1402 02:18 ب.ظ توسط  محمد
تجربه ای کاربردی در زمان استفاده از ADOSelect
 0 پاسخ
مرتب:
شما مجاز به پاسخ به اين پست نمي باشيد.
مولف پيغام ها


کاربر پورتال


کاربر پورتال


--
16 آبان 1402 02:18 ب.ظ

    با سلام و احترام.

    بنده به صورت اتفاقی به مشکلی برخوردم که مختصری از مساله و راه حل را جهت مستند سازی مساله بیان می کنم.

     

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

    حال فرض کنید در یک وظیفه (WorkTask) ابتدا به کمک API داده ای در یکی از جداول مالی نوشته ایم و در ادامه می خواهیم از همان جدول، داده هایی را با کمک ADOSelect استخراج نماییم. در این شرایط با همان پدیده ی lock شدن جدول مربوطه مواجه می شویم. زیرا در طول این WorkTask، جدول مربوطه lock می باشد و بر خلاف تصور ما، پس از پایان API یا ADO، جدول lock  شده آزاد نمی شود. بلکه پس از پایان WorkTask آن جدول آزاد می شود.

    برای حل این مشکل، می شود در قسمت From و پس از نام جدول مربوطه، از عبارت WITH (READCOMMITTEDLOCK) استفاده کرد. در این صورت، پس از خوانش اطلاعات مربوطه، عمل lock شدن اتفاق نمی افتد. طبیعتا چنانچه از join استفاده کرده ایم، همین پارامتر را می توان پس از نام جداول join شده نیز اضافه نمود.

    مثال:

    select * from _transes  WITH (READCOMMITTEDLOCK)
    inner join _Arts WITH (READCOMMITTEDLOCK) on art_Key = tr_ArtKey

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

    پ.ن. از جناب آقای نجفی و نیکخواه برای کمک به حل مساله سپاسگزارم.

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


    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