. Birkaç seçenek vardır deneyebileceğiniz:
1) 1.000.000
2) tampona yazılır verileri filtrelemeyi deneyin için DBMS_OUTPUT tampon boyutunu artırın - muhtemelen orada DBMS_OUTPUT yazar bir döngü ve yapmanız bu verilere gerek yok.
3) Kodunuzdaki çeşitli kontrol noktalarında ENABLE arayın. Her çağrı arabelleği temizler. Alternative to dbms_output.putline @ Tarafından:
DBMS_OUTPUT.ENABLE (NULL) geriye dönük uyumluluk Oracle documentation on dbms_output
aşağıda
create or replace procedure cust_output(input_string in varchar2)
is
out_string_in long default in_string;
string_lenth number;
loop_count number default 0;
begin
str_len := length(out_string_in);
while loop_count < str_len
loop
dbms_output.put_line(substr(out_string_in, loop_count +1, 255));
loop_count := loop_count +255;
end loop;
end;
Bağlantı rEF pasajlarını gibi Ayrıca display.something özel çıkış oluşturabilirsiniz için 20000 varsayılan olarak : Alexander
İşte
Muhtemelen dbms_output kullanarak çok fazla bilgi yazıyor olabilirsiniz. Bunun için tasarlanmamıştır. En iyi seçeneğiniz muhtemelen bu mesajları bir tabloya eklemek ve daha sonra tablodan seçmektir. –
@a_horse_with_no_name: Potansiyel olarak unutulmayacak olaylardan dolayı bir uygulama günlüğü olarak bir veritabanı tablosu kullanmamayı hiç tercih etmemiştim: örneğin, bir uygulama ' t günlüğüne bağlanamadığınız veritabanındaysa uygulamanın bağlanamayacağı veriyi nereye kaydederseniz veritabanına bağlanın mı? Düz dosyalara (PL/SQL'deki UTL_FILE paketini kullanarak) günlükleri yazmayı tercih ediyorum; bu da IMO'nun bir veritabanındaki bir tablodan daha az kullanışsız olma ihtimalidir. YMMV. Paylaş ve Keyfini çıkar. –
@BobJarvis: Bir PL/SQL prosedürünün içinde bunun mantıklı olduğunu düşünüyorum. Düzenli uygulama kodu için (Java, C#, ...) Sana katılıyorum. –