PDA

View Full Version : خطا هنگام ثبت عکس در database



farnoosh66
پنج شنبه 14 مرداد 1395, 18:14 عصر
سلام دوستان
یه برنامه ای هست که عکس میگیرره به صورت دیتا تو دیتابیس sqlذخیره میکنه، حالا بعد یه مدت دیگه نمیشه اضاف کرد.حجم دیتابیس حدود 3 گیگ شده مشکل اینه رو سیستم خودم که ویژ<ال و اینا نصب میتونم اضافه کنم، ولی تو سیستم مشتری فقط باید یه عکی حذف کنم بعد جاش یکی ثبت کنم، در غیر اینصورت اضافه نمیشه کرد

اینم حطاش
141856

mrprestige
پنج شنبه 14 مرداد 1395, 18:29 عصر
سلام وقت بخیر ، حجم دیتابیس 3 گیگ بنظرم یکم غیر منطی بیاد اونم اگه فقط برای دریافت عکس باشه احتمالا شما فیلد مربوط به عکس رو از نوع image گرفتید که بهتره باید از نوع binary بگیرید . اگر کدهایی رو هم که نوشتید در این رابطه رو هم میزاشتید بهتر بود .

farnoosh66
پنج شنبه 14 مرداد 1395, 19:04 عصر
بله درسته، اشتباه کردم زمان طراحی
ولی الان فعلا چون دیتا داره کاری نمیتونم بکنم
الان ابهام اصلی اینه که همین موارد رو سیستم خودم جواب میده،دلیلش میشه حدث زد چیه که انجام بدم موقتا درست شه؟

mrali.jalali
پنج شنبه 14 مرداد 1395, 19:22 عصر
فکز کنم باید داخل sql یک فایل گروپ دیگه تو یک مسیر دیگه بسازی و ادامه ذخیره سازی میره روی اون درایو

mrprestige
پنج شنبه 14 مرداد 1395, 19:45 عصر
فکز کنم باید داخل sql یک فایل گروپ دیگه تو یک مسیر دیگه بسازی و ادامه ذخیره سازی میره روی اون درایو

سلام دوست من ، اصلا منطقی نیست چون حجم بانک از اینی که هست سنگین تر میشه




الان ابهام اصلی اینه که همین موارد رو سیستم خودم جواب میده،دلیلش میشه حدث زد چیه که انجام بدم موقتا درست شه؟

فیلدی که برای عکس هاتون در نظر گرفتید از چه نوعیه ؟

farnoosh66
پنج شنبه 14 مرداد 1395, 20:22 عصر
میشه بیشتر توضیح بدی دوست عزیز؟؟؟درایو دیگه منظور چیه؟

mrali.jalali
جمعه 15 مرداد 1395, 09:26 صبح
سلام دوست من ، اصلا منطقی نیست چون حجم بانک از اینی که هست سنگین تر میشه



من خودم یک برنامه دارم که صدو سی چهل هزار سند ثبت شده الانم حجمش 12 گیگ شده . نوعش هم باینریه . داخل سایت مایکروسافت خوندم اگر حجم از یک مگ (ولی 512 عملیشه) کمتر باشه بهتره که داخل خود sql ذخیره بشه ولی بیشتر شد از فایل استریم استفاده بشه . مشکل فقط تو بک آپ گرفتنه که بصورت parall (اگر درست نوشته باشم) حل میشه

mrprestige
جمعه 15 مرداد 1395, 10:07 صبح
من خودم یک برنامه دارم که صدو سی چهل هزار سند ثبت شده الانم حجمش 12 گیگ شده . نوعش هم باینریه . داخل سایت مایکروسافت خوندم اگر حجم از یک مگ (ولی 512 عملیشه) کمتر باشه بهتره که داخل خود sql ذخیره بشه ولی بیشتر شد از فایل استریم استفاده بشه . مشکل فقط تو بک آپ گرفتنه که بصورت parall (اگر درست نوشته باشم) حل میشه
سلام مجدد دوست من ، اگه دقت میکردی منم بهشون ذخریه عکس بصورت باینری هست رو بهشمون گفتم و اینگه به نظر خودت 12 گیگ برای یک بانک که حجم داده هاش حتی از صد هزار فراتر نرفته چه برسه به میلیون منطقیه؟؟؟ شما باید طوری کدنویسی کنید که تا حد امکان Performance برنامه پایین نیاد . حالا پیشنهاد شما در پست قبل که کار رو بدتر کرد "
فکز کنم باید داخل sql یک فایل گروپ دیگه تو یک مسیر دیگه بسازی و ادامه ذخیره سازی میره روی اون درایو" حالا بگذریم منظور از اون درایو چی بود ؟ بازم بنظرت منطقیه اگه حجم بانک حی بالا بره ما بیایم یه درکنارش فایل گروپ درست کنیم اون موقع میشه عین پایگاه داده شما که به 150هزار نرسیده حجم فوق العاده ای رو گرفته . تنها کاری که میتونه ایشون بکنه اینکه از این به بعد فیلد ها رو باینری بکنه و در محیط پروژه تابعی رو درست کنه عکس هار بصورت باینری بگیره با استفاده از DataCommand پارامتر دار پاس بده به پایگاه اصولیش اینطور بود که از اول طراحی بانک اینکار رو میکرد که خودشونم فرمودند اشتباه کردن حالا دیگه باید از این به بعدش رو از این روش جلو برن بنظر بنده .

پیروز و موفق باشی .

farnoosh66
جمعه 15 مرداد 1395, 15:03 عصر
ممنون ازتون دوستان
الان نتیجه این شد که من این تیبل داشته باشم و یه تیبل جدید بسازم طبق مواردی که گفتین باقی کار بصورت باینری انجام بدم؟؟؟اینکه با 2تا تیبل اینکارارو بکنم نیست؟؟؟امکان اینکه نوع قبلی image تبدیل کنم به باینری طوری که دیتاهام حفظ بشه نیست؟؟

mrprestige
جمعه 15 مرداد 1395, 16:31 عصر
عرض سلام مجدد، اگه نظر این حقیر رو بخواین پیشتر هم عرض کرده بودم شما وقتی فیلدی رو بصورت image در نظر گرفتید نمیتونید بعد از اینکه اون رو مقدار دهی کردید دوباره مقدار اون رو به Binary تغییر بدید مطمئنا خطای Saving change in not permitted بهتون میده و اینکه شما میتونی یه جدول دیگه درست کنی با نوع مقداری Binary از این به بعد توی این جدول عمل ذخیره رو انجام بدی هرچند کار منطقی نیست ولی یا باید قید اطلاعاتت رو بزنی و از اول بنکت رو اصولی طراحی کنی یا ناچارا همین کاری که الان عرض کردم بعد کدنویسی تون هم سعی کنید بهینه باشه .

امیدوارم پیروز موفق باشید