Udostępnij za pośrednictwem


Duże CLR typów zdefiniowanych przez użytkownika

W programie SQL Server 2005 przez użytkownika typów (UDTs) w common language runtime (CLR) były ograniczone do 8000 bajtów w polu rozmiar.Ograniczenie to zostało zniesione w SQL Server 2008.CLR UDTs teraz są traktowane w sposób podobny do typów dużych obiektów (LOB).UDTs mniejszy niż 8000 bajtów działają tak samo, jak w programie SQL Server 2005, ale większych UDTs są obsługiwane i zgłosić ich rozmiar, jak "nieograniczony".

Aby uzyskać więcej informacji, zobacz Duże CLR typów zdefiniowanych przez użytkownika (OLE DB) i Duże CLR typów zdefiniowanych przez użytkownika (ODBC).

Przypadki użycia

Dla ODBC, obsługa dużych UDTs oferuje możliwość wysyłania wartości UDT w kawałkach, jako parametry danych na wykonanie.Jest to zrobić za pomocą SQLPutData.

OLE DB, obsługa dużych UDTs zawiera wartości UDT strumienia z serwera i możliwości za pomocą ISequentialStream powiązanie.

UDTs mniej niż 8000 bajtów działają tak samo jak w programie SQL Server 2005.Dla OLE DB, można nadal strumienia małych UDTs za pomocą ISequentialStream powiązanie.

Kodu macierzystego czasami trzeba zrozumieć zawartość CLR UDTs, ale nie trzeba utworzyć wystąpienia obiektów zarządzanych.Jeśli jest to przypadek, można użyć serializacji niestandardowej do konwersji wartości UDT na serwerze na dobrze znanym format dla klientów.

Dla aplikacji, które mają istniejącego kodu dostępu do danych można wykorzystać CLR UDT zachowanie klient, pobieranie UDTs poprzez macierzystych interfejsów API i uruchamianiu tego je przy użyciu interop C++ CLI w aplikacji w trybie mieszanym.