مجموعة السجلات العمل مع عناصر بيانات كبيرة (ODBC)

هذا الموضوع ينطبق على فئات MFC ODBC وفئات MFC DAO.

ملاحظة

في حالة استخدام فئات MFC DAO، قم بـإدارة عناصر البيانات الكبيرة باستخدام الفئة CByteArray بدلاً من الفئة CLongBinary. إذا كنت تستخدم فئات MFC ODBC مع إحضار صفوف كبيرة الحجم، استخدم CLongBinary بدلاً من CByteArray. لمزيد من المعلومات حول إحضار صفوف كبيرة الحجم راجع مجموعة السجلات: ‎جلب سجلات في تجمع (ODBC)

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

  • كل قيمة حقل كبيرة.

  • بعكس الأرقام وأنواع البيانات الأخرى البسيطة ، ليس لها حجم متوقع.

  • البيانات ليس لها نموذج معين من وجهة نظر البرنامج الخاص بك.

يشرح هذا المقال ما هو الدعم التي توفره فئات قاعدة البيانات للعمل مع مثل هذه الكائنات.

إدارة كائنات كبيرة

تحتوي مجموعات السجلات على طريقتان لحل الصعوبات الخاصة المتعلقة بإدارة كائنات كبيرة ثنائية. يمكنك استخدام فئة CByteArray أو يمكنك استخدام فئة CLongBinary. عامة، CByteArray هي الطريقة المفضلة لإدارة بيانات ثنائية كبيرة.

CByteArrayيتطلب زائد عن الحد المزيدCLongBinaryولكن قادر على أكثر، كما هو موضح فيCByteArray فئة. CLongBinaryهو الموصوفة في فترة وجيزةفئة CLongBinary.

للحصول على معلومات مفصلة حول استخدام CByteArray للعمل مع العناصر الكبيرة من البيانات راجع Technical Note 45.

فئة CByteArray

CByteArray هي واحدة من مجموعة فئات MFC. يقوم كائن CByteArray بتخزين صفيفة حيوية من البايتات — يمكن زيادة حجم الصفيفة إذا لزم الأمر. clكـs وصولاً fكـt حسب الفهرس، كـ مع صفائف C + + مضمنة. CByteArrayإجراء تسلسل الكائنات و تفريغ لأغراض تشخيص. الفئة توفر وظائف أعضاء للحصول على و تعيين وحدات البايت المحددة و إدراج و إلحاق بايت و إزالة بايت واحد أو كافة وحدات البايت. تجعل هذه التسهيلات تحليل البيانات الثنائية أسهل. على سبيل المثال، إذا كان الكائن الثنائي كائن OLE ، فربما يكون عليك العمل من خلال بعض بايت الرأس للوصول إلى الكائن الفعلي.

استخدام CByteArray في مجموعات السجلات

بإعطاء حقل عضو من مجموعة السجلات الخاصة بك النوع CByteArray ،تقوم بتوفير أساس ثابت، يمكن لـ RFX من خلاله إدارة نقل كائن ما بين مجموعة السجلات الخاصة بك و مصدر البيانات و من خلالها يمكنك التعامل مع البيانات داخل الكائن. يحتاج RFX لموقع معيّن للبيانات المستردة ، و تحتاج إلى طريقة للوصول إلى البيانات الأساسية.

للحصول على معلومات مفصلة حول استخدام CByteArray للعمل مع العناصر الكبيرة من البيانات راجع Technical Note 45.

فئة CLongBinary

كائن CLongBinary هو shell بسيط حول مؤشر HGLOBAL إلى كتلة التخزين المخصص في كومة الذاكرة المؤقتة. عندما تقوم بربط عمود جدول يحتوي على كائن كبير ثنائي، تقوم RFX بتخصيص مؤشر HGLOBAL عندما تحتاج لنقل البيانات إلى مجموعة السجلات ثم تقوم بتخزين المؤشر في الحقل CLongBinary من مجموعة السجلات.

بدورك،تقوم باستخدام مؤشر HGLOBAL و m_hData ، للعمل مع البيانات نفسها،و التشغيل عليها كما على أي مؤشر بيانات. هذا هو المكان حيث تضيف CByteArray قدرات.

ملاحظة تنبيهتنبيه

لا يمكن استخدام كائنات CLongBinary كمعاملات في استدعاءات الدالات. بالإضافة إلى ذلك، فإن التطبيق الخاص بهم ، الذي يستدعي :: SQLGetData يؤدى بالضرورة إلى إبطاء أداء التمرير للقطة قابلة للتمرير. قد يكون ذلك أيضاً صحيحا عند استخدام استدعاء :: SQLGetData بنفسك لاسترداد أعمدة المخطط الحيوية.

راجع أيضًا:

المبادئ

مجموعة السجلات (ODBC)

مجموعة السجلات الحصول على مجاميع و نتائج تجميع أخرى (ODBC)

تبادل حقل السجل (RFX):