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.