PDA

View Full Version : ورود دیتا در حجم زیاد



m_reza
جمعه 06 خرداد 1384, 12:36 عصر
سلام

فرض کنید شخصی روزانه مجبور به وارد کردن اطلاعاتی (بین 10 تا 100 رکورد) در DB می باشد.
به عنوان مثال داریم:
شماره B A
1 125 375
2 456 2256.2
3 کتاب 97907
.
.
90 ماشین 445

اگر برای هر رکورد بخواهیم به صورت عادی Insert کنیم، کاربر با وارد کردن هر رکورد در TextBox و یا هر چیز دیگری اطلاعات را وارد و آن را به Server می فرستد. یعنی در مثال بالا این کار 90 بار باید انجام شود که این کار مشکلاتی به همراه دارد، من جمله برای کاربر بسیار کسل کننده است که 90 بار دیتا را Send کند، در ثانی ترافیک شبکه بسیار بالا می رود ، و از آنجا که اغلب کاربران با Dial Up وصل می شوند و سرعت .NET نیز کم است ، برای ورود اطلاعات ساعت ها وقت نیاز است .
برای رفع این مشکل Microsoft Office InfoPath 2003 از ابزاری به نام Repeating and Optional استفاده می کند،‌ بدین صورت که کاربر اطلاعات را تک تک اضافه کرده و همگی دیتاها در یک آرایه و یا به عبارت بهتر در یک Record ذخیره شده و یکجا به سرور فرستاده می شود. اشکال زیر به خوبی گواه این مطلب می باشد.

حال برای پیاده سازی این مسئله در .NET چه روشی را پیشنهاد می کنید؟

با تشکر

aidinwashere
جمعه 06 خرداد 1384, 15:41 عصر
اگر در سمت client با فرمت خاصی اطلاعات را وارد کند و در هر بار دصل شدن آنها را بفرستد چی؟
مثلا برنامه ای برای clinet بنویس که با فرمتی که برنامه سرور میگیرد compatible باشد.
(کاری که مثلا ActiveSync انجام میدهد).
راه دیگر اینست که یک mail بزند و سرور محتویات آنرا parse کند و اطلاعات را از آن استخراج کند.

m_reza
جمعه 06 خرداد 1384, 21:46 عصر
این روش ها درست است، اما باید در سمت Client یک اپلیکشن وجود داشته باشد تا اطلاعات را نگهداری و سپس با هر فرمتی مثل XML و یا Replication اس کیو ال و یا حتی یک فایل ساده برای سرور ارسال کند.

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

aidinwashere
شنبه 07 خرداد 1384, 01:24 صبح
جالب تر شد ...

aidinwashere
شنبه 07 خرداد 1384, 01:27 صبح
راه دیگر اینست که یک mail بزند و سرور محتویات آنرا parse کند و اطلاعات را از آن استخراج کند
این فقط نیاز به mail دارد.

m_reza
شنبه 07 خرداد 1384, 11:18 صبح
آخرین راه همینه دیگه. به کمک جعبه جادویی Notepad ‌ اطلاعات وارد، و به سرور Mail می شود. ولی از .NET بیشتر از اینها توقع داشتم. البته شاید در ASP.NET 2.0 به این موضوع پرداخته شده باشد،‌ باید ببینیم نظر استاد نصیری و بقیه اساتید در این زمینه چیه؟

aidinwashere
شنبه 07 خرداد 1384, 19:56 عصر
یک راه دیگه این که یک custom control درست کن که هر شکلی دوست داری اطلاعات رو توش بگیری (هر طور که سریع تر است) مثلا شکل یک note pad یا هرچی که فکر میکنی سریع تر است.

استاد نصیری و بقیه اساتید در این زمینه چیه؟
آقای نصیری رو که مدتهاست ندیدم ...

hadi2345
یک شنبه 08 خرداد 1384, 22:54 عصر
با سلام خدمت دوستان .
من هم همین مشکلو داشتم و بسیار خوشحال شدم وقتی که این تاپیکو دیدم .
ممنون .