OracleLob.SetLength(Int64) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mengatur panjang OracleLob aliran ke nilai yang kurang dari panjang saat ini.
public:
override void SetLength(long value);
public override void SetLength(long value);
override this.SetLength : int64 -> unit
Public Overrides Sub SetLength (value As Long)
Parameter
- value
- Int64
Panjang yang diinginkan dari aliran saat ini OracleLob dalam byte. Untuk CLOB jenis data dan NCLOB , ini harus berupa angka genap.
Pengecualian
Nilai yang ditentukan dalam value parameter untuk CLOB jenis data atau NCLOB bahkan tidak.
-atau-
Nilai yang ditentukan dalam value parameter kurang dari nol atau lebih besar dari 4 gigabyte.
Operasi tidak berada dalam transaksi, OracleLob objek null, atau koneksi ditutup.
Objek ditutup atau dibuang.
Terjadi kesalahan Oracle.
Keterangan
Upaya untuk meningkatkan panjang OracleLob aliran gagal, dan mengembalikan "Pesan: ORA-22926: panjang pemangkasan yang ditentukan lebih besar dari panjang nilai LOB saat ini" dari server Oracle.
Aliran harus mendukung penulisan dan pencarian agar SetLength berfungsi.
Penyedia data .NET Framework untuk Oracle menangani semua CLOB data dan NCLOB sebagai Unicode. Oleh karena itu, saat mengakses CLOB dan NCLOB jenis data, Anda selalu berurusan dengan jumlah byte, di mana setiap karakter adalah 2 byte. Misalnya, jika string teks yang berisi tiga karakter disimpan sebagai NCLOB di server Oracle di mana kumpulan karakter adalah 4 byte per karakter, dan Anda melakukan SetLength operasi, Anda menentukan panjang string sebagai 6 byte, meskipun disimpan sebagai 12 byte di server.
Untuk menulis ke LOB, Anda harus telah mengambil LOB menggunakan klausa FOR UPDATE dalam pernyataan SQL SELECT, dan Anda harus memulai transaksi lokal.
Catatan
Operasi tulis ke baca-saja LOB mungkin berhasil, tetapi tidak memperbarui LOB pada server. Namun, dalam hal ini, salinan lokal diperbarui LOB . Oleh karena itu, operasi baca nanti pada OracleLob objek mungkin mengembalikan hasil operasi tulis.