OracleLob.SetLength(Int64) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Akışın OracleLob uzunluğunu geçerli uzunluktan daha küçük bir değere ayarlar.
public:
override void SetLength(long value);
public override void SetLength (long value);
override this.SetLength : int64 -> unit
Public Overrides Sub SetLength (value As Long)
Parametreler
- value
- Int64
Geçerli OracleLob akışın bayt cinsinden istenen uzunluğu. ve NCLOB
veri türleri için CLOB
bu çift sayı olmalıdır.
Özel durumlar
veya NCLOB
veri türü için parametresinde value
belirtilen değer CLOB
eşit değildir.
-veya-
parametresinde value
belirtilen değer sıfırdan küçük veya 4 gigabayttan büyük.
İşlem bir işlem içinde değil, OracleLob nesne null veya bağlantı kapatıldı.
Nesne kapatıldı veya atıldı.
Oracle hatası oluştu.
Açıklamalar
Akışın OracleLob uzunluğunu artırma girişimi başarısız olur ve Oracle sunucusundan "İleti: ORA-22926: belirtilen kırpma uzunluğu geçerli LOB değerinin uzunluğundan büyük" sonucunu döndürür.
Bir akışın hem yazmayı SetLength hem de işlev aramasını desteklemesi gerekir.
Oracle için .NET Framework Veri Sağlayıcısı tüm CLOB
verileri Unicode NCLOB
olarak işler. Bu nedenle, ve NCLOB
veri türlerine erişirken CLOB
her zaman her karakterin 2 bayt olduğu bayt sayısıyla ilgilenirsiniz. Örneğin, üç karakter içeren bir metin dizesi karakter kümesinin karakter başına 4 bayt olduğu bir Oracle sunucusuna kaydedilirse NCLOB
ve bir SetLength
işlem gerçekleştirirseniz, dizenin uzunluğunu sunucuda 12 bayt olarak depolansa da 6 bayt olarak belirtirsiniz.
öğesine yazmak için LOB
, SQL SELECT deyiminde LOB
FOR UPDATE yan tümcesini kullanarak öğesini almış olmanız ve yerel bir işlemin başlatılması gerekir.
Not
Salt LOB
okunur bir yazma işlemi başarılı olabilir, ancak sunucusundaki öğesini LOB
güncelleştirmez. Ancak bu durumda, yerel kopyası LOB
güncelleştirilir. Bu nedenle, nesnedeki OracleLob daha sonra okuma işlemleri yazma işleminin sonuçlarını döndürebilir.