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.