سؤال

وأنا أحاول أن إنشاء واسترداد BLOB في جدول الخلية عبر مكتبة ORM Kohana ل.

والرمز يبدو شيئا مثل:

$attachment = new Attachment_Model();
$attachment->name = $info['FileName'];
$attachment->size = strlen($info['Data']);
$attachment->data = $info['Data'];
$attachment->mime_type = $info['content-type'];
$attachment->save();

ولقد التحقق من البيانات على ما يرام في هذه المرحلة عن طريق إخراج إلى ملف. ومع ذلك، عندما استرداد البيانات التي تأتي من تلف. لقد تمكنت من تضييق هذا بانخفاض أكثر قليلا - لقد استعملت أداة الاستعلام الخلية لاستخراج البيانات كما عقدت في قاعدة البيانات، وأستطيع أن تحقق من البيانات في قاعدة البيانات الفاسدة، لذلك يجب أن يكون مشكلة على INSERT .

وكذلك الملفات المدخلة ليست فاسدة دائما - ملفات أصغر (مثل الصور) تميل إلى أن تكون موافق

.

وأي شخص يحصل على أي أفكار؟

هل كانت مفيدة؟

المحلول

واتضح أنه في هذه الحالة، كنت تستخدم نوع البيانات BLOB.

ونوع البيانات BLOB باقتطاع البيانات في 65535 حرفا (بصمت، دون رمي خطأ!)

ولقد رفعت ذلك إلى MEDIUMBLOB (التي يبلغ طولها أقصى 16777215 حرفا)، ويبدو للعمل OK!

نصائح أخرى

وتخمين البرية، ولكن: ربما لأن طبقة نموذج kohana إدراج جميع البيانات كبيانات حرف بدلا من ثنائي، والتي سوف تسبب لك مشاكل عند حفظ / استعادة كائنات BLOB

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top