الانتقال إلى المحتوى
مسام
العودة إلى قاعدة المعرفةالتقني والتطوير

تحميل بيانات من جدول بيانات يفشل في منتصفه

يبدأ التحميل، ويعالج بعض الصفوف، ثم يتوقف — وغالبًا بخطأ يذكر عملية لا صفًا.

ست خطوات، والترتيب غير قابل للتفاوض

القالب، ثم ملف CSV، ثم ملف مضغوط، ثم الرفع، ثم جداول الواجهة، ثم الاستيراد. وأنفع ما في هذه السلسلة أن الرفع والاستيراد خطوتان منفصلتان: فبينهما تجلس بياناتك في جداول الواجهة حيث يمكنك النظر إليها، قبل أن يُثبَّت أي شيء في التطبيق. لا فاتورة بعد، ولا مورّد بعد، ولم يحدث شيء للأعمال. وهذا أيضًا سبب أن العملية التي تُبلّغ عن الفشل ليست غالبًا هي التي فشلت — تراجَع في السلسلة واقرأ مخرجات كل عملية، لا الأخيرة فقط.

الأسباب الأكثر احتمالاً

  • لم يصل شيء إلى جداول الواجهة أصلًا. والسبب عادةً الملف المضغوط: يجب أن يحتوي على ملف CSV مسمّى تمامًا كما تتوقعه الواجهة. وجدول واجهة خالٍ من الصفوف هو العلامة الفارقة، فهو يفصل هذه الحالة عن كل ما تحتها بنظرة واحدة.
  • جزء من الملف وصل وجزء لم يصل. وهذه هي الحالة الطبيعية لا الاستثناء. اقرأ الأعداد الثلاثة في سجل الاستيراد — الصفوف المقروءة والصفوف المستوردة والصفوف المرفوضة — فعملية تنتهي بنجاح دون استيراد أي صف تبقى عملية منتهية، والحالة وحدها لا تقول ذلك.
  • مرجع غير موجود بعد. تحميل المعاملات قبل بياناتها الأساسية هو أشهر صور ذلك.
  • انزياح عمود. إضافة عمود أو حذفه يغيّر بصمت معنى كل الأعمدة التالية، وسيشير الخطأ إلى قيمة تبدو سليمة. والقوالب مرتبطة بالإصدارات وتتغيّر دون إعلان، فالقالب القديم يعطي إما رفضًا يسمّي عمودًا، وإما تحميلًا تصبح فيه كل قيمة بعد العمود المتغيّر بموضع واحد خطأً.
  • تواريخ أو أرقام شُوّهت قبل أن تلمسها. برنامج الجداول يعيد تنسيق التواريخ، ويُسقط الأصفار البادئة، ويشوّه الأرقام الطويلة — بصمت، عند الفتح. فرمز يبدأ بأصفار تختفي أصفاره فلا يطابق شيئًا أو يُنشئ نسخة مكرّرة؛ ورقم حساب من ستة عشر رقمًا يتحوّل إلى صيغة أُسّية، فيُحمَّل رقمًا خاطئًا ولا يبدو خاطئًا على الشاشة؛ وتاريخ مكتوب بالأرقام وحدها يُقرأ يومًا فشهرًا أو شهرًا فيومًا بحسب الجهاز، وكلاهما تاريخ صالح فلا يصدر خطأ. والعلاج عادة لا تنسيق: أنتج ملف CSV من القالب نفسه لا من حفظ باسم، واستورده نصًّا بدل أن تفتحه، وافحص الناتج في محرّر نصوص حيث ترى البايتات الفعلية لا صورتها.

العطل الذي لا يظهر في أي عدّاد

الفشل ظاهر — فهو في عدد المرفوضات ويحمل رسالة خطأ. أما الصف الذي نجح في المكان الخطأ فليس في أي عدّاد: استُورد نظيفًا إلى وحدة أعمال أو فترة أو مورّد غير المقصود، لأن عمودًا تركته فارغًا أُخذ بقيمة افتراضية، أو لأن رمزًا طابق شيئًا لم تقصده. ولن يذكر لك أي مخرج من مخرجات الاستيراد هذه الحالة. والطريق الوحيد إليها قراءة ما أُنشئ مقابل ما أرسلته، على المجموع ثم على ثلاثة سجلات بعينها. واعتبار سجل نظيف دليلًا على تحميل صحيح هو أشهر نجاح زائف في أعمال التحويل، وهو ينجو من كل مراجعة لا تفتح السجلات الناتجة.

ما يجب التحقق منه

  • الأعداد الثلاثة في سجل الاستيراد، قبل أي شيء آخر وفي كل مرة.
  • تقرير الرفض أو جدول الأخطاء الخاص بالتحميل، فهو يحدد الصف — واقرأه وأنت تعلم أن الرسالة تسمّي عمودًا لا سببًا.
  • هل القالب مطابق لإصدارك الحالي، مأخوذًا من مرجع أوراكل لاستيراد البيانات من الملفات الخاص بإصدارك، لا من قرص مشترك ولا من المشروع السابق. والعلامة أن صفحة المرجع تذكر الإصدار. واحتفظ بالقالب نفسه مع التحميل: بعد ستة أشهر، لا مصدر آخر يجيب عن سؤال أي قالب كان هذا.
  • ما وصل فعلاً قبل إعادة تحميل ملف مصحَّح. ثمانية آلاف صف استُوردت وألفان رُفضا، فتصحّح الملف وتعيد تحميل العشرة آلاف كلها — فتصبح ثمانية آلاف سجل موجودة مرتين. عُدّ ما يوجد في التطبيق لهذه الدفعة، وأعد تحميل الصفوف الغائبة فقط، ثم عُدّ مرة أخرى مقابل المصدر.
  • هل يُحمَّل صف واحد من الملف نفسه في بيئة يمكن أن تتعطل دون ضرر. الصف الواحد يمر بالسلسلة كلها ويكشف القالب القديم بوضوح لا بخفاء. والسلّم صف واحد، ثم عشرة، ثم الدفعة، ومكانه قبل إعداد الملف الكامل لا بعده — وإلا صار التصحيح عشرة آلاف صف في جدول أعاد أحدهم تنسيقه بالفعل.

إذا لم يفسّر أي مما سبق المشكلة، افتح تذكرة واذكر ما تحققت منه. قراءة هذا المقال لا تستهلك أي ساعات.

ما زالت المشكلة قائمة؟ فتح التذكرة لا يستهلك ساعات حتى تقبل عرض أحد الاستشاريين.

فتح تذكرة دعم