نمایش نتایج 1 تا 30 از 30

نام تاپیک: راهنمایی در خصوص ذخیره فایل در بانک SQL

  1. #1

    Question راهنمایی در خصوص ذخیره فایل در بانک SQL

    با سلام و خسته نباشید ...

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

    من دارم یه برنامه می نویسم که هم باید تصویر کاربر رو ذخیره کنه هم باید فایل هایی با پسوند *.PDF رو ذخیره کنه. حالا من موندم که خود فایل (عکس و فایل PDF) رو در بانک ذخیره کنه یا آدرس فایل در هارد وجود داره ذخیره کنه ؟؟

    در ضمن برنامه تحت شبکه و تحت وب هم هست...

    لطفا دوستان راهنمایی کنید با تشکر.*

  2. #2
    کاربر دائمی آواتار M.KH-SH
    تاریخ عضویت
    مرداد 1390
    محل زندگی
    تهران
    پست
    847

    نقل قول: راهنمایی در خصوص ذخیره فایل در بانک SQL

    دوست عزیز شما هر 2 راه رو میتونی انجام بدی و به این نکته توجه کن که اگر میخوای تحت وب کار کنی باید آدرس عکس رو وارد کنی و از طریق اون آدرس عکس رو لود کنی حالا اگه شما میخوای فقط برنامه رو از طریق نرم افزار بارگذاری کنی تمام فایل ها رو تو بانک ذخیره کن ولی اینم هست که حجم بانک به شدت افزایش پیدا میکنه
    فایل pdf هم همینطور از هر 2 طریق میتونی ذخیره کنی و بارگذاری برنامه چوت تحت وب هست پیشنهاد من اینه که با آدرس کار کنی نه با خود فایل

    اگر برنامه از طریق socket نویسی هستش که اونم میتونی از هر 2 طریق استفاده کنی چون برای ارسال حتما باید تبدیل به بایت بشه و این نکته هم بگم که سایز بافر رو متغییر تعریف کن که بتونی با همون بافر فایل 1کیلوبایتی هم بفرستی و فایل 100گیگابایتی هم ارسال کنی و علاوه بر همه اینا متن هم ارسال کنی اگه که از خود sql به صورت مستقیم استفاده کن

    اگه برنامه تنها بانکش تحت شبکه و اینترنت هست و از طریق نرم افزار به اون وصل میشی همون بهتره که همه رو در بانک ذخیره کنی که کارت فوق العاده ساده میشه

    سئوالی بود در خدمت هستم

  3. #3

    نقل قول: راهنمایی در خصوص ذخیره فایل در بانک SQL

    ممنون از پاسخ خیلی خوبتون.

    اگه برنامه تنها بانکش تحت شبکه و اینترنت هست و از طریق نرم افزار به اون وصل میشی همون بهتره که همه رو در بانک ذخیره کنی که کارت فوق العاده ساده میشه
    اینو خوب متوجه نشدم ؟

  4. #4
    کاربر دائمی آواتار M.KH-SH
    تاریخ عضویت
    مرداد 1390
    محل زندگی
    تهران
    پست
    847

    نقل قول: راهنمایی در خصوص ذخیره فایل در بانک SQL

    خوب منظور من اینه که اگه شما فقط و تنها میخوای کاربران از طریق نرم افزار تحت ویندوز به برنامه شما اتصال برقرار کنن میتونی همه فایل ها رو در بانک ذخیره کنی که برای این امر هم میتونی از بانک mysql و یا ms sql استفاده کنی هر 2 جواب گویی بسیار خوبی دارن
    البته اگه نخوای همه رو با هم نمایش بدی منظور من این هست ::: select * from tb_1111
    همیشه برای اینکه سرعت خوبی برای انتقال اطلاعات داشته باشی باید از where استفاده کنی تا اطلاعات دقیقی برات نمایش پیدا کنه مثل نرم افزار های بیمه که یک زمان افت سرعت پیدا نکنی و حجم اطلاعات ارسالی زیاد نشه

  5. #5

    نقل قول: راهنمایی در خصوص ذخیره فایل در بانک SQL

    در SQL server 2008 نسخه ی کامل گزینه ای وجود داره که شما می توانید فیلدهایی تعریف کنید که از قابلیت filesystem پشتیبانی می کنه. به معنی که به SQL می فهمانید که این فیلد قرار است اطلاعات با حجم بالا ذخیره کند. SQL تا 8 مگابایت برای هر فایل را کاملا بهینه می داند. برای حجم های بین 8 مگابایت تا 2 گیگابایت را هم بدون کد نویسی خاصی و فقط با تغییر اندازه فیلد پشتیابانی می کند. هم چنین قابلیت ذخیره فایلهای با حجم بیشتر هم دارد.
    و بعد در جستجو از الگوریتم هایی استفاده می کند که سرعت بازخوانی بهینه باشد.
    در صورتی که حجم فایلهای شما ممکنه از 2 گیگابایت تجاوز کنه به سراغ FileSystem بروید . در غیر این صورت varbinaryMax برای شما کفایت می کند ( پیشنهاد من این است که بجای مکس یک مقدار مشخصی قرار دهید)
    تجربه ی من در مورد یک نرم افزار با همین شیوه کاملا موفق بود و عملا هیچ مشکل خاصی در باز خوانی وجود ندارد.
    فقط این که ما محتوای فایلهای را در یک جدول مجزا نرمال می کنیم. یعنی سعی کنید جدولی که محتوای فایلها را در خودش نگاه می دارد . یک ستون ID برای خودش و یک ستون ID برای رکورد اصلی و یک ستون هم برای محتوایش داشته باشد.
    جستجو همیشه از رکورد اصلی انجام می شود. و وقتی مطمئن شدید کاربر قصد نمایش محتوای یک فایل خاص درون یک رکورد اصلی را دارد آن یک مورد را از جدول محتوای فایل دانلود کرده و نمایش دهید.
    در برنامه ی من فایلهایی با حجم 40 تا 50 مگابایت هم در زمان بین 3 تا 5 ثانیه در رایانه ی کاربر مشاهده میشد. (اون هم یک سیستم با رم یک گیگابایت و پردازنده 3400 Hz قدیمی)

  6. #6

    نقل قول: راهنمایی در خصوص ذخیره فایل در بانک SQL

    دوست عزیز اگر امکان داره طریقه کد نویسی قرار دادن یک فایل مثلا pdf رو داخل دیتابیس توضیح بدید
    آیا بوسیله دستور insert هست؟
    اگر امکان داره خواندن و نوشتن یه فایل در دیتابیس رو توضیح بدید
    ممنون

  7. #7

    نقل قول: راهنمایی در خصوص ذخیره فایل در بانک SQL

    سلام
    زمانی کد زیر را می نویسم sqlconnaction را نمی شناسد در صورتی پایگاه داده ما در خود ای اس پی ساخته شده و جدول مورد نیاز هم به وجود آمده است.

  8. #8

    نقل قول: راهنمایی در خصوص ذخیره فایل در بانک SQL

    برای ذخیره عکس در پایگاه داده از طریق ای اس پی باید چکار کنم؟ ممنون

  9. #9

    نقل قول: راهنمایی در خصوص ذخیره فایل در بانک SQL

    ضمناً کد زیر را نوشتم فقط sqlconnaction ا نمی شناسد.SqlConnection connection = null;

  10. #10
    کاربر دائمی آواتار M.KH-SH
    تاریخ عضویت
    مرداد 1390
    محل زندگی
    تهران
    پست
    847

    نقل قول: راهنمایی در خصوص ذخیره فایل در بانک SQL

    دوست عزیز خوب کانکشن استرینگ اشتباه هستش که نمیشناسه وگرنه که دروغ نمیگه

  11. #11

    نقل قول: راهنمایی در خصوص ذخیره فایل در بانک SQL

    از این لینک استفاده کن: http://msdn.microsoft.com/en-us/library/cc716724.aspx

  12. #12

    نقل قول: راهنمایی در خصوص ذخیره فایل در بانک SQL

    نقل قول نوشته شده توسط hakim22 مشاهده تاپیک
    در SQL server 2008 نسخه ی کامل گزینه ای وجود داره که شما می توانید فیلدهایی تعریف کنید که از قابلیت filesystem پشتیبانی می کنه. به معنی که به SQL می فهمانید که این فیلد قرار است اطلاعات با حجم بالا ذخیره کند. SQL تا 8 مگابایت برای هر فایل را کاملا بهینه می داند. برای حجم های بین 8 مگابایت تا 2 گیگابایت را هم بدون کد نویسی خاصی و فقط با تغییر اندازه فیلد پشتیابانی می کند. هم چنین قابلیت ذخیره فایلهای با حجم بیشتر هم دارد.
    و بعد در جستجو از الگوریتم هایی استفاده می کند که سرعت بازخوانی بهینه باشد.
    در صورتی که حجم فایلهای شما ممکنه از 2 گیگابایت تجاوز کنه به سراغ FileSystem بروید . در غیر این صورت varbinaryMax برای شما کفایت می کند ( پیشنهاد من این است که بجای مکس یک مقدار مشخصی قرار دهید)
    تجربه ی من در مورد یک نرم افزار با همین شیوه کاملا موفق بود و عملا هیچ مشکل خاصی در باز خوانی وجود ندارد.
    فقط این که ما محتوای فایلهای را در یک جدول مجزا نرمال می کنیم. یعنی سعی کنید جدولی که محتوای فایلها را در خودش نگاه می دارد . یک ستون ID برای خودش و یک ستون ID برای رکورد اصلی و یک ستون هم برای محتوایش داشته باشد.
    جستجو همیشه از رکورد اصلی انجام می شود. و وقتی مطمئن شدید کاربر قصد نمایش محتوای یک فایل خاص درون یک رکورد اصلی را دارد آن یک مورد را از جدول محتوای فایل دانلود کرده و نمایش دهید.
    در برنامه ی من فایلهایی با حجم 40 تا 50 مگابایت هم در زمان بین 3 تا 5 ثانیه در رایانه ی کاربر مشاهده میشد. (اون هم یک سیستم با رم یک گیگابایت و پردازنده 3400 Hz قدیمی)
    دوست گرامی میشه لطفا یه نمونه مثال از این که میگید (("شما می توانید فیلدهایی تعریف کنید که از قابلیت filesystem پشتیبانی می کنه. به معنی که به SQL می فهمانید که این فیلد قرار است اطلاعات با حجم بالا ذخیره کند. SQL تا 8 مگابایت برای هر فایل را کاملا بهینه می داند. ")) برامون بزنید. ویه خورده بیشتر توضیح بدید.


    با تشکر.

  13. #13

    نقل قول: راهنمایی در خصوص ذخیره فایل در بانک SQL

    کسی نیست یه راهنمایی در خصوص این موضوعی که بالا گفتم بگه ؟

  14. #14
    کاربر دائمی آواتار فرید نجفلو
    تاریخ عضویت
    بهمن 1390
    محل زندگی
    تبریز
    پست
    1,189

    نقل قول: راهنمایی در خصوص ذخیره فایل در بانک SQL

    سلام
    اصطلاح اصلی این تکنولوژی FileStream هست
    در این نوع ذخیره سازی شما یعد از فعال سازی اون در سرور (و همچنین دیتابیس ) وقتی دارید یک جدول رو می سازید که قرار فایلی رو ذخیره کنه برای اطلاعات فایل یک فیلد از نوع (VarBinary(Max میسازید با این تفوات که FileStream رو برای اون فیلد خاص فعال می کنید
    تو این حالت اطلاعات فیلد به جای دیتابیس در داخل تعداد فایل (که قبلا مسیر اون رو مشخص کردید) ذخیره میشه
    برای ذخیره و بازیابی این نوع فیلد ها دو روش وجود داره
    روش TSQL: این همون روش معمول کار با پایگاه داده ست و با دستور Insert و Update کار می کنه اما میشه گفت در مورد سرعت چیزی نصیب شما نمی کنه و تقریبا سرعتی برابر روش غیر از فایل استریم داره
    روش Stream: این روش همون چیزیه که FileStream رو متمایز می کنه تو این حالت برای مثال برای Insert کردن ، شما یک تراکنش شروع می کنید رکورد رو ایجاد و فیلد مورد نظر رو NULL قرار میدید بعد در همون تراکنش یه درخواست Update خاص برای همون فیلد جدید میدید این بار سرور به شما یک هندل یا شیئ FileStream باز پس می ده حالا شما با روش هایی که برای نوشتن تو فایل (System.IO) استفاده می کنید می تونید داخل این فیلد بنویسید (با سرعتی بالا) . برای خوندن هم به همین صورته!
    یه نتیجه کلی که می شه گرفت اینه که این رو سریعتره و بهینه تر اما طبق تجربه بهتون پیشنهاد می کنم اگه میشه با روش عادی کارتون رو راه بیوفته از همون استفاده کنید چون روش FileStream علاوه بر اینکه پیچیده تر هست دردسر های خاص خودش رو هم داره
    در ضمن نصب اتوماتیک (بدون حضور شما) برای روش FileStream سخت تر و گاها برای یه کاربر غیر ممکن میشه

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

  15. #15

    نقل قول: راهنمایی در خصوص ذخیره فایل در بانک SQL

    می تونیم به فایل های pdf به عنوان یک موجودیت تازه نگاه کنیم و یک جدول مجزا هم براش در نظر بگیریم و به هر رکورد یک شماره بدیم و به عنوان کلید خارجی جدول کتاب های الکترونیکی معرفیش کنیم.

    در ضمن اگه من بخوام فایل های pdf رو در کامپیوتر سرور قرار بدم چطور می تونم فایل pdf رو از کامپیوتر سرور به کامپیوتر کلاینت ببرم ؟؟

    با تشکر.

  16. #16
    کاربر دائمی آواتار M.KH-SH
    تاریخ عضویت
    مرداد 1390
    محل زندگی
    تهران
    پست
    847

    نقل قول: راهنمایی در خصوص ذخیره فایل در بانک SQL

    بله میشه

    دوست عزیز شما فایل رو در سرور بدون binary کردن می تونین یک آدرس قرار بدین در دیتابیس به فرض یک ایپی و فولدر قرار گرفتن فایل و بعد در سیستم کلاینت آدرس لود میشه و فایل خونده میشه

    ولی چون شما دارین از win app استفاده میکنین بهتر هستش از قوانین win app استفاده کنین نه از قوانین web app .

  17. #17

    نقل قول: راهنمایی در خصوص ذخیره فایل در بانک SQL

    نقل قول نوشته شده توسط M.KH-SH مشاهده تاپیک
    بله میشه

    دوست عزیز شما فایل رو در سرور بدون binary کردن می تونین یک آدرس قرار بدین در دیتابیس به فرض یک ایپی و فولدر قرار گرفتن فایل و بعد در سیستم کلاینت آدرس لود میشه و فایل خونده میشه

    ولی چون شما دارین از win app استفاده میکنین بهتر هستش از قوانین win app استفاده کنین نه از قوانین web app .

    خوب پس میشه بدون ذخیره کردن خود فایل در دیتا بیس اون رو توی سیستم کلاینت هم فراخوانی کرد.

    حالا که آدرس فایل (در سمت کلاینت) رو توی دیتابیس ذخیره کردیم چطور باید در سیستم کلاینت این آدرس که فایل PDF هم داخلشه رو آورد توی سیستم کلاینت ؟


    با تشکر.

  18. #18
    کاربر دائمی آواتار فرید نجفلو
    تاریخ عضویت
    بهمن 1390
    محل زندگی
    تبریز
    پست
    1,189

    نقل قول: راهنمایی در خصوص ذخیره فایل در بانک SQL

    خوب پس میشه بدون ذخیره کردن خود فایل در دیتا بیس اون رو توی سیستم کلاینت هم فراخوانی کرد.

    حالا که آدرس فایل (در سمت کلاینت) رو توی دیتابیس ذخیره کردیم چطور باید در سیستم کلاینت این آدرس که فایل PDF هم داخلشه رو آورد توی سیستم کلاینت ؟
    به شرطی که تو شبکه محلی شما ، پوشه ای که قراره فایل ها رو تو اون قرار بدید Share شده باشه امکان داره و گرنه نمیشه
    روش Share کردن هم که امنیتش زیر صفره ولی یه مزیت خیلی بزرگ داره اونم دسترسی مستقیم به فایله و دیگه نیازی با دانلود شد توی سیستم کلاینت نداره
    شاید هم بخواید از FTP استفاده کنید (مثلا FileZilla) که اینم دردسرش زیاده

  19. #19
    کاربر دائمی آواتار M.KH-SH
    تاریخ عضویت
    مرداد 1390
    محل زندگی
    تهران
    پست
    847

    نقل قول: راهنمایی در خصوص ذخیره فایل در بانک SQL

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

    در ایران سرعت اینترنت خیلی دست و پا گیره پس بهتره اگه برنامه تحت نت هستش جوری بنویسین که کاربر دچار مشکل نشه و نارحت بشه و دیگه استفاده نکنه.

  20. #20

    نقل قول: راهنمایی در خصوص ذخیره فایل در بانک SQL

    نقل قول نوشته شده توسط M.KH-SH مشاهده تاپیک
    تنها برای شبکه محلی نیست شما اگه بخواین با نصب iis به راحتی میتونین به فولدری که نیاز دارین دست رسی پیدا کنین حالا از هرجا توی دنیا شما اول باید ببینین نرم افزار رو برای یک شرکت ، یک ساختمان ، یک شهر یا یک کشور یا یک دنیا میخواین بعد به فکر بقیه چیزاش باشین.

    در ایران سرعت اینترنت خیلی دست و پا گیره پس بهتره اگه برنامه تحت نت هستش جوری بنویسین که کاربر دچار مشکل نشه و نارحت بشه و دیگه استفاده نکنه.
    نقل قول نوشته شده توسط فرید نجفلو مشاهده تاپیک
    به شرطی که تو شبکه محلی شما ، پوشه ای که قراره فایل ها رو تو اون قرار بدید Share شده باشه امکان داره و گرنه نمیشه
    روش Share کردن هم که امنیتش زیر صفره ولی یه مزیت خیلی بزرگ داره اونم دسترسی مستقیم به فایله و دیگه نیازی با دانلود شد توی سیستم کلاینت نداره
    شاید هم بخواید از FTP استفاده کنید (مثلا FileZilla) که اینم دردسرش زیاده
    برنامه برای کتابخانه دانشگاه هست. حداکثر هم برای 10 کلاینت وجود داره.

    لطفا اگه امکانش هست هم یه توضیحی در خصوص share کردن و هم استفاده از IIS رو بدید. تا ببینم چطور میشه.

    با تشکر از شما که دارید کمک می کنید.

  21. #21

    نقل قول: راهنمایی در خصوص ذخیره فایل در بانک SQL

    اگر آدرس را در بانک ثبت کنید خیلی بهتر است.

  22. #22
    کاربر دائمی آواتار فرید نجفلو
    تاریخ عضویت
    بهمن 1390
    محل زندگی
    تبریز
    پست
    1,189

    نقل قول: راهنمایی در خصوص ذخیره فایل در بانک SQL

    اگه واسه دانشگاهه و خارج از اون نیست و احتمالا دسترسی به PDF ها هم مشکلی نداره
    از Sharing استفاده کنید
    به این صورت که شما یه پوشه رو Share می کنید (راست کلیک - Prperties و برگه Share)
    وقتی دارید فایل ها رو ذخیره می کنید خود فایل رو تو اون پوشه یا زیر شخه هاش ذخیره (کپی) می کنید
    تو دیتابیس هم مسیر اون فایل رو البته به فرمت شبکه ای باشه یعنی آدر با آی پی یا اسم سیستم سرور شرع میشه
    حالا تو برنامه کلاینت آدرس رو از دیتابیس می گیرد و اون رو نمایش و یا برای کاربر یه نسخه می دید

  23. #23
    کاربر دائمی آواتار M.KH-SH
    تاریخ عضویت
    مرداد 1390
    محل زندگی
    تهران
    پست
    847

    نقل قول: راهنمایی در خصوص ذخیره فایل در بانک SQL

    خوب اگه واسه دانشگاه هستش که بیخیال iis فقط بدی share اینه که دیگه نیازی به برنامه شما نیست ;)
    کاربر با یکم ور رفتن به بخش my network سیستم به راحتی کل پوشه شما رو پیدا میکنه و اگه هم شما جواز edit داده باشی یکی که مشکل هم داشته باشه با یک shift + delete کل برنامه رو میریزه به هم

    پس کلا بیخیال share باش چون آب تو هاون کوبیدن میشه کارت ولی برای این من پیشنهادم اینه از filestream استفاده کنی هم زیبا تر میشه هم امنیت میره بالا ولی دیگه خیلی بخوای کار رو در آینده ببری بالاتر از web service ها استفاده کن و یک وب سرویس طراحی کن.

    تا جایی که میتونی share رو بیخیال باش که خیلی راحت میشه هک کرد سیستم رو و دیتا رو پروند.

  24. #24

    نقل قول: راهنمایی در خصوص ذخیره فایل در بانک SQL

    نقل قول نوشته شده توسط M.KH-SH مشاهده تاپیک
    خوب اگه واسه دانشگاه هستش که بیخیال iis فقط بدی share اینه که دیگه نیازی به برنامه شما نیست ;)
    کاربر با یکم ور رفتن به بخش my network سیستم به راحتی کل پوشه شما رو پیدا میکنه و اگه هم شما جواز edit داده باشی یکی که مشکل هم داشته باشه با یک shift + delete کل برنامه رو میریزه به هم

    پس کلا بیخیال share باش چون آب تو هاون کوبیدن میشه کارت ولی برای این من پیشنهادم اینه از filestream استفاده کنی هم زیبا تر میشه هم امنیت میره بالا ولی دیگه خیلی بخوای کار رو در آینده ببری بالاتر از web service ها استفاده کن و یک وب سرویس طراحی کن.

    تا جایی که میتونی share رو بیخیال باش که خیلی راحت میشه هک کرد سیستم رو و دیتا رو پروند.
    توی این قسمت امنیت رو بیخیال

    هم بقول شما می تونم جواز edit رو بردارم.

    هم اینکه سیستم های خود دانشگاه برنامه Freeze روشون نصبه و دسترسی به قسمت های سیستم رو میشه کنترل کرد.

    باز ممنون.

  25. #25
    کاربر دائمی آواتار M.KH-SH
    تاریخ عضویت
    مرداد 1390
    محل زندگی
    تهران
    پست
    847

    نقل قول: راهنمایی در خصوص ذخیره فایل در بانک SQL

    دوست عزیز امنیت خیلی مهم هستش اگه که مهم نیست پس یک iis بریز و با استفاده از find file به راحتی با استفاده از asp فایل ها رو نمایش بده و فایل asp رو هم بکگراند سیستم های دیگه بزار.

    کدوم دانشگاهی یک سر بیام :)

  26. #26
    کاربر دائمی آواتار فرید نجفلو
    تاریخ عضویت
    بهمن 1390
    محل زندگی
    تبریز
    پست
    1,189

    نقل قول: راهنمایی در خصوص ذخیره فایل در بانک SQL

    نقل قول نوشته شده توسط M.KH-SH مشاهده تاپیک
    دوست عزیز امنیت خیلی مهم هستش اگه که مهم نیست پس یک iis بریز و با استفاده از find file به راحتی با استفاده از asp فایل ها رو نمایش بده و فایل asp رو هم بکگراند سیستم های دیگه بزار.

    کدوم دانشگاهی یک سر بیام :)
    به احتمال زیاد و به استنباط من ، اینکه میگن امنیت مهم نیست منظورشون فقط در این مورده
    اگه شما بخواید یک سری کتاب الکترونیک رو تو دانشکاه رو سیستم های رایانه ای و شبکه داخلی اون بیسن دانشجویان به اشتراک بذارید مهم نیست اون ها از چه طریقی به اون فایل ها دسترسی دارن فقط ممکنه مجوز حذف و ویرایش نداشته باشن
    و حالا ایشون می خوان برای این کتاب های دیجیتالی یه سیستمی هم طراحی کنن (مثلا بخشی از یه برنامه بزرگتر دیگه هست)
    اگه یکم فکر کنیم این که دانشجو فایل رو باسیستم ما بگیره یا از MyComputer بره و خودش یه دور تو فایل بزنه مسئله ای نداره چون هدف دادن کتاب به دانشجو هست و کتاب ، فیزیکی هم نیست که بگیم میزنه زیر بغلش میبره
    شما هم که روی IIS یا WCF و ... تاکید دارید ، همون طور که گفتم اون ها یک مشکل اساسی دارن اونم عدم دسترسی مستقیمه
    فرض کنید دانشجو یه کتاب رو دیده می خواد قبل از زدن اون توی فلش باز کن و ببینه همون چیزی هست که می خواد یا نه . تو روش هایی که شما گفتید باید اول کل فایل بیاد رو سیستم کلاین (که ممکنه یه کتاب حجیم باشه) بعد دانشجو بتونه بازش کنه! اما تو Sharing نیازی به این دانلود نیست و میشه از همون مسیر بازش کرد
    من این نوع دسترسی ها را با WCF,Web Service ,FTP تست کردم و همشون همین مشکل رو دارن

  27. #27
    کاربر دائمی آواتار M.KH-SH
    تاریخ عضویت
    مرداد 1390
    محل زندگی
    تهران
    پست
    847

    نقل قول: راهنمایی در خصوص ذخیره فایل در بانک SQL

    شما هم که روی IIS یا WCF و ... تاکید دارید ، همون طور که گفتم اون ها یک مشکل اساسی دارن اونم عدم دسترسی مستقیمه
    فرض کنید دانشجو یه کتاب رو دیده می خواد قبل از زدن اون توی فلش باز کن و ببینه همون چیزی هست که می خواد یا نه . تو روش هایی که شما گفتید باید اول کل فایل بیاد رو سیستم کلاین (که ممکنه یه کتاب حجیم باشه) بعد دانشجو بتونه بازش کنه! اما تو Sharing نیازی به این دانلود نیست و میشه از همون مسیر بازش کرد
    من این نوع دسترسی ها را با WCF,Web Service ,FTP تست کردم و همشون همین مشکل رو دارن
    مشکل من اینه که آدم چرا باید کار بیهوده انجام بده وقتی میخواد از فولدر شیر استفاده کنه دیگه چرا میخواد یک نرم افزار براش بنویسه؟
    این سیستم رو به فرض ما بگیم بدون اشکال (خودم به شخصه این سیستم رو با چند نرم افزار از کار میندازم) ولی بازم نرم افزار نویسی برای این کار بیهوده هستش به هر حال یک بار نیاز به دانلود کردن نرم افزار روی فلش داره پس بهتره که تنها یک بار دانلود کنه و اونم روی فلش دانشجو یعنی به صورت مستقیم زمانی که pdf رو پیدا کرد دانشجو روی دکمه دانلود کلید کنه و برنامه بیاد پورت های usb رو چک کنه و پورت مورد نظر رو به دانشجو نشون بده (داریو فلش) بعد از نمایش دادن برنامه بیاد یک فولدر با اسم برنامه بسازه و فایل رو در اون دانلود کنه.

    خوب از نظر بصری میگن این یک نرم افزار ولی فایل شیر رو هم یک کودک اول دبستانی هم بلده (به چشم دیدم دارم میگم).

    اون ایده من برای این نرم افزار هستش که بعده ها هم میتونی روش مانور بدی و یک کتابخانه مجازی بزرگ درکل سیستم دانشگاه راه اندازی کنی

    web service ها بهترین گزینه ها برای نوشتن برنامه های تحت شبکه هستن چون دیگه نیاز به نصب sql نیست روی سیستم ها با هر خطا بانک نیازی نیست کلاینت ها رو دچار مشکل کنی به راحتی روی یک سیستم کار رو انجام میدی ، هیچ مشکلی هم نیست بهتره که از شیرینگ استفاده نکنی دوست من.

  28. #28

    Cool نقل قول: راهنمایی در خصوص ذخیره فایل در بانک SQL

    نقل قول نوشته شده توسط فرید نجفلو مشاهده تاپیک
    به احتمال زیاد و به استنباط من ، اینکه میگن امنیت مهم نیست منظورشون فقط در این مورده
    اگه شما بخواید یک سری کتاب الکترونیک رو تو دانشکاه رو سیستم های رایانه ای و شبکه داخلی اون بیسن دانشجویان به اشتراک بذارید مهم نیست اون ها از چه طریقی به اون فایل ها دسترسی دارن فقط ممکنه مجوز حذف و ویرایش نداشته باشن
    و حالا ایشون می خوان برای این کتاب های دیجیتالی یه سیستمی هم طراحی کنن (مثلا بخشی از یه برنامه بزرگتر دیگه هست)
    اگه یکم فکر کنیم این که دانشجو فایل رو باسیستم ما بگیره یا از MyComputer بره و خودش یه دور تو فایل بزنه مسئله ای نداره چون هدف دادن کتاب به دانشجو هست و کتاب ، فیزیکی هم نیست که بگیم میزنه زیر بغلش میبره
    نقل قول نوشته شده توسط M.KH-SH مشاهده تاپیک
    مشکل من اینه که آدم چرا باید کار بیهوده انجام بده وقتی میخواد از فولدر شیر استفاده کنه دیگه چرا میخواد یک نرم افزار براش بنویسه؟
    این سیستم رو به فرض ما بگیم بدون اشکال (خودم به شخصه این سیستم رو با چند نرم افزار از کار میندازم) ولی بازم نرم افزار نویسی برای این کار بیهوده هستش به هر حال یک بار نیاز به دانلود کردن نرم افزار روی فلش داره پس بهتره که تنها یک بار دانلود کنه و اونم روی فلش دانشجو یعنی به صورت مستقیم زمانی که pdf رو پیدا کرد دانشجو روی دکمه دانلود کلید کنه و برنامه بیاد پورت های usb رو چک کنه و پورت مورد نظر رو به دانشجو نشون بده (داریو فلش) بعد از نمایش دادن برنامه بیاد یک فولدر با اسم برنامه بسازه و فایل رو در اون دانلود کنه.

    خوب از نظر بصری میگن این یک نرم افزار ولی فایل شیر رو هم یک کودک اول دبستانی هم بلده (به چشم دیدم دارم میگم).

    اون ایده من برای این نرم افزار هستش که بعده ها هم میتونی روش مانور بدی و یک کتابخانه مجازی بزرگ درکل سیستم دانشگاه راه اندازی کنی

    web service ها بهترین گزینه ها برای نوشتن برنامه های تحت شبکه هستن چون دیگه نیاز به نصب sql نیست روی سیستم ها با هر خطا بانک نیازی نیست کلاینت ها رو دچار مشکل کنی به راحتی روی یک سیستم کار رو انجام میدی ، هیچ مشکلی هم نیست بهتره که از شیرینگ استفاده نکنی دوست من.


    دوست عزیز : M.KH-SH همونجور که آقای نجفلو گفتند این یه قسمت خیلی کوچیک از برنامه ای کتابخانه هست که من دارم می نویسم.

    و اگه شما هم امکانش هست یه پروژه به عنوان Sample بذار ببینیم این web service که میگید چطوره؟

  29. #29
    کاربر دائمی آواتار M.KH-SH
    تاریخ عضویت
    مرداد 1390
    محل زندگی
    تهران
    پست
    847

    نقل قول: راهنمایی در خصوص ذخیره فایل در بانک SQL

    دوست عزیز : M.KH-SH همونجور که آقای نجفلو گفتند این یه قسمت خیلی کوچیک از برنامه ای کتابخانه هست که من دارم می نویسم.

    و اگه شما هم امکانش هست یه پروژه به عنوان Sample بذار ببینیم این web service که میگید چطوره؟
    به هر حال از من گفتن بود دوست عزیزم.

    برای وب سرویس هم شما وارد visual studio شو و در قسمت web بر روی web service کلیک کن و یک پروژه بساز
    شما شروع کن شئوالی بود درخدمت هستم.

  30. #30

    نقل قول: راهنمایی در خصوص ذخیره فایل در بانک SQL

    نقل قول نوشته شده توسط فرید نجفلو مشاهده تاپیک
    سلام
    اصطلاح اصلی این تکنولوژی FileStream هست
    در این نوع ذخیره سازی شما یعد از فعال سازی اون در سرور (و همچنین دیتابیس ) وقتی دارید یک جدول رو می سازید که قرار فایلی رو ذخیره کنه برای اطلاعات فایل یک فیلد از نوع (VarBinary(Max میسازید با این تفوات که FileStream رو برای اون فیلد خاص فعال می کنید
    تو این حالت اطلاعات فیلد به جای دیتابیس در داخل تعداد فایل (که قبلا مسیر اون رو مشخص کردید) ذخیره میشه
    برای ذخیره و بازیابی این نوع فیلد ها دو روش وجود داره
    روش TSQL: این همون روش معمول کار با پایگاه داده ست و با دستور Insert و Update کار می کنه اما میشه گفت در مورد سرعت چیزی نصیب شما نمی کنه و تقریبا سرعتی برابر روش غیر از فایل استریم داره
    روش Stream: این روش همون چیزیه که FileStream رو متمایز می کنه تو این حالت برای مثال برای Insert کردن ، شما یک تراکنش شروع می کنید رکورد رو ایجاد و فیلد مورد نظر رو NULL قرار میدید بعد در همون تراکنش یه درخواست Update خاص برای همون فیلد جدید میدید این بار سرور به شما یک هندل یا شیئ FileStream باز پس می ده حالا شما با روش هایی که برای نوشتن تو فایل (System.IO) استفاده می کنید می تونید داخل این فیلد بنویسید (با سرعتی بالا) . برای خوندن هم به همین صورته!
    یه نتیجه کلی که می شه گرفت اینه که این رو سریعتره و بهینه تر اما طبق تجربه بهتون پیشنهاد می کنم اگه میشه با روش عادی کارتون رو راه بیوفته از همون استفاده کنید چون روش FileStream علاوه بر اینکه پیچیده تر هست دردسر های خاص خودش رو هم داره
    در ضمن نصب اتوماتیک (بدون حضور شما) برای روش FileStream سخت تر و گاها برای یه کاربر غیر ممکن میشه

    در هر دو روش هم حرف دوستمون رو تصدیق و توصیه می کنم:
    سلام دوست عزیز

    ممنون از توضیحاتتون
    به هر سایتی مراجعه کردم تقریبا به همین توضیحات برخوردم. اگه توضیحات همراه با مثال باشه خیلی بهتره.
    من نیاز به ذخیره حدود 2GB دارم که با ید از روش fileStream استفاده کنم. تنظیماتش رو انجام دادم. می خواستم بپرسم نیاز هست که کدنویسی هم تغییر پیدا کنه یا نه؟

تاپیک های مشابه

  1. سوال: نحوه ذخیره فایل در بانک sql
    نوشته شده توسط Mask در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 2
    آخرین پست: یک شنبه 08 فروردین 1389, 20:26 عصر
  2. سوال: مشکل در ذخیره کردن فایل در بانک SQL
    نوشته شده توسط mpmsoft در بخش برنامه نویسی در 6 VB
    پاسخ: 0
    آخرین پست: یک شنبه 20 مرداد 1387, 10:07 صبح
  3. چگونگی ذخیره و بازیابی فایل در بانک SQL
    نوشته شده توسط BPROD_ASLANI در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 1
    آخرین پست: چهارشنبه 30 آبان 1386, 12:31 عصر
  4. ذخیره فایل در بانک Sql
    نوشته شده توسط ehsane در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 1
    آخرین پست: پنج شنبه 31 شهریور 1384, 02:01 صبح
  5. نمایش فایلهای html ذخیره شده در بانک sql (فوری)
    نوشته شده توسط sh_m در بخش ASP.NET Web Forms
    پاسخ: 2
    آخرین پست: سه شنبه 03 آذر 1383, 09:08 صبح

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •