Tôi đang viết một tệp lớn> 7MB từ quy trình được lưu trữ của Oracle và các yêu cầu không có ký tự chấm dứt dòng (không có dòng trả lại dòng/dòng) ở cuối mỗi bản ghi.Oracle PL/SQL UTL_FILE.PUT đệm
Tôi đã viết một quy trình được lưu trữ sử dụng UTL_FILE.PUT và tôi đang theo từng cuộc gọi đến UTL_FILE.PUT với một UTL_FILE.FFLUSH. Thủ tục này lỗi với một lỗi viết một khi tôi nhận được đến điểm mà tôi đã viết nhiều hơn kích thước bộ đệm (thiết lập để tối đa 32767) mặc dù tôi đang thực hiện các cuộc gọi FFLUSH. Quy trình hoạt động tốt nếu tôi thay thế cuộc gọi PUT bằng lệnh gọi PUT_LINE.
Không thể viết nhiều hơn kích thước bộ đệm mà không có ký tự mới? Nếu vậy, có một công việc xung quanh?
Cảm ơn bạn đã làm rõ cách FFLUSH hoạt động, tôi không thấy câu cuối cùng trong tìm kiếm của tôi. – Dustin
Hi @Ollie, tôi vẫn còn bối rối về cách FFLUSH hoạt động, cho (1 -> 32767 + n), mỗi lần tôi đặt, và tôi fflush. Tại sao một dòng mới vẫn cần thiết? Bạn sẽ giúp giải thích? – Jaskey