Udostępnij za pośrednictwem


Zestaw rekordów: Praca z bardzo duże elementy danych (ODBC)

Ten temat dotyczy zarówno klas MFC ODBC i klas MFC DAO.

[!UWAGA]

Jeśli używasz klas MFC DAO zarządzać duże elementy z klasy CByteArray zamiast klasy CLongBinary.Jeśli używasz klas MFC ODBC z pobieranie wiersza luzem, użyj CLongBinary zamiast CByteArray.Aby uzyskać więcej informacji na temat Pobieranie wiersza luzem, zobacz zestaw rekordów: pobieranie rekordów luzem (ODBC).

Załóżmy, że baza danych można przechowywać duże fragmenty danych, takich jak mapy bitowe (pracownika fotografie, mapy, obrazy produktów, obiektów OLE i tak dalej).Tego rodzaju danych jest często określane jako dużego obiektu binarnego (lub obiektu BLOB) ponieważ:

  • Każda wartość pola jest duży.

  • W przeciwieństwie do liczby i inne proste typy danych ma rozmiar nie przewidywalne.

  • Dane są formless z punktu widzenia programu.

W tym temacie wyjaśniono wsparcia, jakie zapewniają klas bazy danych do pracy z takich obiektów.

Zarządzanie dużych obiektów

Zestawy rekordów mają dwa sposoby rozwiązania szczególnych trudności zarządzania duże obiekty binarne.Można użyć klasy CByteArray lub można użyć klasy CLongBinary.Ogólnie rzecz biorąc CByteArray jest preferowanym sposobem zarządzania dużych danych binarnych.

CByteArraywymaga większe obciążenie niż CLongBinary , ale jest zdolne do, jak opisano w Klasy CByteArray.CLongBinaryopisano pokrótce w Klasy CLongBinary.

Aby uzyskać szczegółowe informacje dotyczące korzystania z CByteArray do pracy z elementami dużych danych, zobacz technicznych 45 Uwaga.

Klasa CByteArray

CByteArrayjest jedną z klas MFC kolekcji.A CByteArray obiektu przechowuje dynamicznej tablicy bajtów — tablicy można powiększać, jeśli to konieczne.Klasa oferuje szybki dostęp przez indeks, jak w przypadku wbudowanych tablice C++.CByteArrayobiekty można szeregować i po cenach dumpingowych w celach diagnostycznych.Klasa dostaw funkcji elementów członkowskich dla pobieranie i ustawianie określonych bajtów, wstawianie i dołączanie bajtów i usunięcie jednego bajtu lub wszystkich bajtów.Urządzenia te należy podczas analizowania danych binarnych.Na przykład jeśli obiekt binarny jest obiekt OLE, może mieć pracy poprzez kilka bajtów nagłówka do osiągnięcia rzeczywistego obiektu.

Za pomocą CByteArray w zestawy rekordów

Składając członek pola danych swój zestaw rekordów typu CByteArray, zapewnienia stałej bazy, z którego RFX można zarządzać przeniesienia takiego obiektu między swój zestaw rekordów źródła danych i za pomocą którego można manipulować danych wewnątrz obiektu.RFX potrzeb konkretnej witryny pobrane dane, a potrzebny jest sposób dostępu do danych podstawowych.

Aby uzyskać szczegółowe informacje dotyczące korzystania z CByteArray do pracy z elementami dużych danych, zobacz technicznych 45 Uwaga.

Klasa CLongBinary

A CLongBinary obiekt jest proste powłoki wokół HGLOBAL dojście do bloku pamięci zaalokowanego na stercie.Gdy powiąże go kolumnie tabeli zawierającej dużego obiektu binarnego, alokuje RFX HGLOBAL obsługi przy potrzebuje do transferu danych do zestawu rekordów i przechowuje dojście w CLongBinary pola zestawu rekordów.

Z kolei używać HGLOBAL uchwyt, m_hData, aby pracować z danymi, działających na to, jak na dowolnej będzie można obsłużyć danych.Gdzie jest CByteArray funkcji.

Informacje dotyczące przestrogiPrzestroga

Obiekty CLongBinary nie można użyć jako parametrów wywołania funkcji.Ponadto, ich realizacji, który wywołuje :: SQLGetData, niekoniecznie zmniejsza wydajność przewijania przewijaną migawki.Może to również być prawdą podczas korzystania z :: SQLGetData wywołania samodzielnie pobrać kolumny schematu dynamicznych.

Zobacz też

Koncepcje

Zestaw rekordów (ODBC)

Zestaw rekordów: Uzyskiwanie kwot i innych agregacji wyników (ODBC)

Wymiany pola rekordu (RFX)