OracleLob.CopyTo Metoda

Definicja

Kopie z tego OracleLob do miejsca docelowego OracleLob.

Przeciążenia

CopyTo(OracleLob)

Kopie z tego OracleLob do miejsca docelowego OracleLob.

CopyTo(OracleLob, Int64)

Kopie z tego OracleLob do miejsca docelowego OracleLob z określoną ilością danych.

CopyTo(Int64, OracleLob, Int64, Int64)

Kopie z tego OracleLob do miejsca docelowego OracleLob z określoną ilością danych i przesunięciem źródłowym.

CopyTo(OracleLob)

Kopie z tego OracleLob do miejsca docelowego OracleLob.

public:
 long CopyTo(System::Data::OracleClient::OracleLob ^ destination);
public long CopyTo (System.Data.OracleClient.OracleLob destination);
member this.CopyTo : System.Data.OracleClient.OracleLob -> int64
override this.CopyTo : System.Data.OracleClient.OracleLob -> int64
Public Function CopyTo (destination As OracleLob) As Long

Parametry

destination
OracleLob

Miejsce docelowe OracleLob.

Zwraca

Liczba skopiowanych bajtów. Wyklucza to wszystkie wypełnione bajty.

Wyjątki

Określony OracleLob w parametrze destination ma wartość null.

Operacja nie znajduje się w transakcji, OracleLob obiekt ma wartość null lub połączenie jest zamknięte.

Wystąpił błąd Oracle.

Uwagi

Podstawowe typy danych muszą być zawsze takie same. Jeśli na przykład kopiujesz z obiektu NClob, miejsce docelowe OracleLob musi być również elementem NClob.

Jeśli przesunięcie miejsca docelowego wykracza poza koniec miejsca docelowego LOB, LOB do którego są kopiowane dane, jest rozszerzone. Odstęp między końcem LOB a przesunięciem docelowym poza końcem jest dopełniany zerami dla typów danych i spacji dla BLOBCLOB typów danych i NCLOB typów danych.

Aby zapisać w pliku LOB, musisz pobrać LOB klauzulę USING FOR UPDATE w instrukcji SQL SELECT i musisz mieć uruchomioną transakcję lokalną.

Uwaga

W tej wersji operacja zapisu w trybie tylko LOB do odczytu może zakończyć się powodzeniem, ale nie zaktualizować LOB jej na serwerze. W takim przypadku jednak lokalna kopia obiektu LOB zostanie zaktualizowana. W związku z tym późniejsze operacje odczytu obiektu OracleLob mogą zwracać wyniki operacji zapisu.

Metoda CopyTo nie usuwa zawartości miejsca docelowego OracleLob przed wykonaniem operacji kopiowania.

Dotyczy

CopyTo(OracleLob, Int64)

Kopie z tego OracleLob do miejsca docelowego OracleLob z określoną ilością danych.

public:
 long CopyTo(System::Data::OracleClient::OracleLob ^ destination, long destinationOffset);
public long CopyTo (System.Data.OracleClient.OracleLob destination, long destinationOffset);
member this.CopyTo : System.Data.OracleClient.OracleLob * int64 -> int64
override this.CopyTo : System.Data.OracleClient.OracleLob * int64 -> int64
Public Function CopyTo (destination As OracleLob, destinationOffset As Long) As Long

Parametry

destination
OracleLob

Miejsce docelowe OracleLob.

destinationOffset
Int64

Przesunięcie, do którego ma być skopiowane. W przypadku CLOB typów danych i NCLOB musi to być parzysta liczba bajtów.

Zwraca

Liczba skopiowanych bajtów. Wyklucza to wszystkie wypełnione bajty.

Wyjątki

Określony OracleLob w parametrze destination jest pełny.

Wartość określona w parametrze destinationOffset jest mniejsza niż zero lub większa niż 4 gigabajty.

-lub-

Wartość określona w parametrze destinationOffset dla CLOB typu danych lub NCLOB nie jest nawet równa.

-lub-

Musisz określić CLOB typy danych i NCLOB jako liczbę parzysty bajtów.

Operacja nie znajduje się w transakcji, OracleLob obiekt ma wartość null lub połączenie jest zamknięte.

Wystąpił błąd Oracle.

Uwagi

Podstawowe typy danych muszą być zawsze takie same. Jeśli na przykład kopiujesz z obiektu NClob, miejsce docelowe OracleLob musi być również elementem NClob.

Jeśli przesunięcie miejsca docelowego wykracza poza koniec miejsca docelowego LOB, LOB do którego są kopiowane dane, jest rozszerzone. Odstęp między przesunięciem końcowym LOB i docelowym poza końcem jest dopełniany zerami dla typów danych i spacji dla BLOBCLOB typów danych i NCLOB typów danych.

Aby zapisać w pliku LOB, musisz pobrać LOB klauzulę USING FOR UPDATE w instrukcji SQL SELECT i musisz mieć uruchomioną transakcję lokalną.

Uwaga

W tej wersji operacja zapisu tylko LOB do odczytu może zakończyć się powodzeniem, ale nie aktualizuje na LOB serwerze. W takim przypadku jednak lokalna kopia obiektu LOB jest aktualizowana. W związku z tym późniejsze operacje odczytu obiektu OracleLob mogą zwracać wyniki operacji zapisu.

Metoda CopyTo nie usuwa zawartości miejsca docelowego OracleLob przed wykonaniem operacji kopiowania.

Dotyczy

CopyTo(Int64, OracleLob, Int64, Int64)

Kopie z tego OracleLob do miejsca docelowego OracleLob z określoną ilością danych i przesunięciem źródłowym.

public:
 long CopyTo(long sourceOffset, System::Data::OracleClient::OracleLob ^ destination, long destinationOffset, long amount);
public long CopyTo (long sourceOffset, System.Data.OracleClient.OracleLob destination, long destinationOffset, long amount);
member this.CopyTo : int64 * System.Data.OracleClient.OracleLob * int64 * int64 -> int64
override this.CopyTo : int64 * System.Data.OracleClient.OracleLob * int64 * int64 -> int64
Public Function CopyTo (sourceOffset As Long, destination As OracleLob, destinationOffset As Long, amount As Long) As Long

Parametry

sourceOffset
Int64

Przesunięcie, z którego ma być kopiowane. W przypadku CLOB typów danych i NCLOB musi to być liczba parzysta.

destination
OracleLob

Miejsce docelowe OracleLobSystem.Data.OracleClient.

destinationOffset
Int64

Przesunięcie docelowe, do którego ma być skopiowane. W przypadku CLOB typów danych i NCLOB musi to być liczba parzysta.

amount
Int64

Ilość danych w bajtach do skopiowania. W przypadku CLOB typów danych i NCLOB musi to być liczba parzysta.

Zwraca

Liczba skopiowanych bajtów. Wyklucza to wszystkie wypełnione bajty.

Wyjątki

Określony OracleLob w parametrze destination jest pełny.

Wartość określona w parametrze amount, sourceOffsetlub destinationOffset jest mniejsza niż zero lub większa niż 4 gigabajty.

-lub-

Wartość określona w parametrze amount, sourceOffsetlub destinationOffset dla CLOB typu danych lub NCLOB nie jest nawet równa.

Operacja nie znajduje się w transakcji, OracleLob obiekt ma wartość null lub połączenie jest zamknięte.

Wystąpił błąd Oracle.

Uwagi

Podstawowe typy danych muszą być zawsze takie same. Jeśli na przykład kopiujesz z obiektu NClob, miejsce docelowe OracleLob musi być również elementem NClob.

Jeśli przesunięcie miejsca docelowego wykracza poza koniec miejsca docelowego LOB, LOB do którego są kopiowane dane, jest rozszerzone. Odstęp między przesunięciem końcowym LOB i docelowym poza końcem jest dopełniany zerami dla typów danych i spacji dla BLOBCLOB typów danych i NCLOB typów danych.

Aby zapisać w pliku LOB, musisz pobrać LOB klauzulę USING FOR UPDATE w instrukcji SQL SELECT i musisz mieć uruchomioną transakcję lokalną.

Uwaga

W tej wersji operacja zapisu tylko LOB do odczytu może zakończyć się powodzeniem, ale nie aktualizuje na LOB serwerze. W takim przypadku jednak lokalna kopia obiektu LOB jest aktualizowana. W związku z tym późniejsze operacje odczytu obiektu OracleLob mogą zwracać wyniki operacji zapisu.

Metoda CopyTo nie usuwa zawartości miejsca docelowego OracleLob przed wykonaniem operacji kopiowania.

Dotyczy