Sto scrivendo un file di grandi dimensioni> 7 MB da una stored procedure Oracle ei requisiti non devono contenere caratteri di terminazione di riga (nessun ritorno a capo/avanzamento riga) alla fine di ogni record.Oracle PL/SQL UTL_FILE.PUT buffering
Ho scritto una procedura memorizzata utilizzando UTL_FILE.PUT e sto seguendo ogni chiamata a UTL_FILE.PUT con un UTL_FILE.FFLUSH. Questa procedura commette errori con un errore di scrittura una volta arrivato al punto in cui ho scritto più della dimensione del buffer (impostata su massimo 32767) anche se sto effettuando le chiamate FFLUSH. La procedura funziona correttamente se sostituisco le chiamate PUT con le chiamate PUT_LINE.
Non è possibile scrivere più della dimensione del buffer senza un carattere di fine riga? Se è così, c'è un lavoro in giro?
Grazie per aver chiarito come funziona FFLUSH, non avevo visto l'ultima frase nelle mie ricerche. – Dustin
Ciao @Ollie, sono ancora confuso su come funziona FFLUSH, per (1 -> 32767 + n), ogni volta che metto, e faccio fflush. Perché dovrebbe essere necessaria una nuova linea? Aiuteresti a spiegare? – Jaskey