OracleLob.SetLength(Int64) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Nastaví délku datového OracleLob proudu na hodnotu menší, než je aktuální délka.
public:
override void SetLength(long value);
public override void SetLength (long value);
override this.SetLength : int64 -> unit
Public Overrides Sub SetLength (value As Long)
Parametry
- value
- Int64
Požadovaná délka aktuálního OracleLob datového proudu v bajtech U CLOB
datových typů a NCLOB
musí jít o sudé číslo.
Výjimky
Hodnota zadaná v parametru value
pro CLOB
datový typ nebo NCLOB
není sudá.
-nebo-
Hodnota zadaná v parametru value
je menší než nula nebo větší než 4 gigabajty.
Operace není v rámci transakce, OracleLob objekt má hodnotu null nebo je připojení ukončeno.
Objekt byl uzavřen nebo odstraněn.
Došlo k chybě Oracle.
Poznámky
Pokus o zvětšení délky datového OracleLob proudu se nezdaří a ze serveru Oracle vrátí zprávu" ORA-22926: zadaná délka oříznutí je větší než délka aktuální hodnoty lob.
Datový proud musí podporovat psaní i hledání SetLength , aby fungoval.
Zprostředkovatel dat rozhraní .NET Framework pro Oracle zpracovává všechna CLOB
data a NCLOB
jako unicode. Proto při přístupu k datovým typům CLOB
a NCLOB
vždy pracujete s počtem bajtů, kde každý znak má 2 bajty. Pokud je například textový řetězec obsahující tři znaky uložen jako řetězec NCLOB
na serveru Oracle, kde je znaková sada 4 bajty na znak, a provedete SetLength
operaci, zadáte délku řetězce jako 6 bajtů, i když je uložen jako 12 bajtů na serveru.
Chcete-li zapisovat do LOB
, musíte načíst klauzuli LOB
pomocí klauzule FOR UPDATE v příkazu SQL SELECT a musí být spuštěna místní transakce.
Poznámka
Operace zápisu do jen LOB
pro čtení může být úspěšná, ale neaktualizuje LOB
na serveru. V tomto případě se ale místní kopie aktualizuje LOB
. Proto pozdější operace čtení u objektu OracleLob můžou vrátit výsledky operace zápisu.