UTL_FILE text file write
Dear All,
I am using the UTL_FILE to write a text file.
C:=sample.txt;
F := UTL_FILE.FOPEN('EX',C,'W');
for I in C1 LOOP
UTL_FILE.PUT_LINE(F,
I.1||'|'||
I.2||'|'||
I.3||'|'||
I.4||'|'||
I.5);
UTL_FILE.FFLUSH(F);
end LOOP;
utl_file.fclose(f);
end;
{CODE}
When i open the txt file in Notepad , The data coming in the single line with some enter key ( Carriage val)sample:
1233|1111|1111|1111(square box)1222|1111|1111|1111(square box)1211|1111|1111|1111
How to remove the enter key while writing the text file. Or any other solution to get a notepad file for the below requirement
Result needed.
1233|1111|1111|1111
1222|1111|1111|1111
1211|1111|1111|1111Thanks in Advance.
Cheers,
San.
Your database server is likely to be Unix or Linux, right? Which means it uses just one character (LF) for "new line", rather than Windows that use two characters (CR-LF) for "new line".
(If you open your file with WordPad rather than NotePad it will probably look OK.)
UTL_FILE.PUT_LINE uses as "new line" whatever the database server O/S uses.
So if you desire to write a file that is to be used specifically in Windows, you can do your own "new line" rather than using the servers.
Use PUT rather than PUT_LINE and just append the two characters Windows uses for "new line":
UTL_FILE.PUT(F,
I.1||'|'||
I.2||'|'||
I.3||'|'||
I.4||'|'||
I.5|| CHR(13) || CHR(10) );
Similar Messages
-
How to create a text file & write contents into it?
Hi All,
Im using Acrobat 7.0 Professional.Im writing a javascript to write a content to a text file.How can i do this using acrobat scripting objects.
Any code snippets?
Thanks
myriazYou can create a text file as a file attachment (data object) using the doc.createDataObject and doc.setDataObjectContents:
http://livedocs.adobe.com/acrobat_sdk/9.1/Acrobat9_1_HTMLHelp/JS_API_AcroJS.88.450.html
http://livedocs.adobe.com/acrobat_sdk/9.1/Acrobat9_1_HTMLHelp/JS_API_AcroJS.88.528.html
You can then export the file with the doc.exportDataObject method:
http://livedocs.adobe.com/acrobat_sdk/9.1/Acrobat9_1_HTMLHelp/JS_API_AcroJS.88.463.html
This won't work with Reader if it hasn't been given the file attachment usage right with LiveCycle Reader Extensions. -
Reading text file, Replace string, Write to new file....
I'm kind a lost of on this problem. Using the BufferedReader class and BufferedWriter class, develop an application that reads lines of text from a file. Replace any occurrence of the word *?the?* with *?JAVAJAVA?* and change all characters to upper case before writing each line to a different text file named outfile.txt. Finally, have your application use the appropriate method on the File class to return the absolute path of the outfile.txt file and output the path to the screen.
* Created December 10, 2008
* @author Fausto Rivera
* Colorado Technical University - Online Campus
* IT271-0804B-02 Intermediate Object Oriented Programming II
* Phase 2 IP
* Instructor: Cheryl B Frederick
import java.io.File;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class FRiveraReader {
public static void main(String[] args) {
// instantiated a new application object to initialize the application
FRiveraReader application = new FRiveraReader();}
// application.getReadfr(); // call to openFile method
// application.doWritefr(); // call to readRecords method
// application.closeFile(); // call to closeFile method
public FRiveraReader(){}
public void getReadfr (String friveraInfile, String fr []){
int i;
File fileName = makeAbsoluteFilename(friveraInfile);
try{
BufferedReader reader = new BufferedReader(new FileReader(fileName));
String line = reader.readLine();
i=0;
while (line != null) {
fr[i] =line;
line = reader.readLine();
i++;
reader.close();
catch(IOException e) {
System.out.println("Error with reading file:" + friveraInfile);
}//end of getOrder method
public void doWritefr(String friveraOutfile, String fw[]){//String name of file, String array to be written
int i;
File fileNameout = makeAbsoluteFilename(friveraOutfile);
try {
BufferedWriter writer = new BufferedWriter(new FileWriter (fileNameout));
i=0;
while (fw[i] != null) {
writer.write(fw[i] + "%n"); //need delimiters between data in file;also, reader reads a line
i++;
writer.close();
catch(FileNotFoundException e) {
System.out.println("File not found");
catch(IOException e) {
System.out.println("Error with reading file:" + friveraOutfile);
}//end of getOrder method
private File makeAbsoluteFilename(String friveraOutfile)//these 2 classes used to resolve file name
File file = new File(friveraOutfile);
if(!file.isAbsolute()) {
file = new File(friveraOutfile);
return file;I have modified my code as far as being able to create a text file, write to string, and change to upper case. Now, how can I connected input to the output stream and then replace all the instances of the string "the" for the string "JAVAJAVA"? When the file is created, it goes into a loop writing the following:
nJAVA.IO.BUFFEREDWRITER@19821F%nJAVA.IO.BUFFEREDWRITER@19821F%nJAVA.IO.BUFFEREDWRITER@19821F%nJAVA.IO.BUFFEREDWRITER@19821F%nJAVA.IO.BUFFEREDWRITER@19821F%nJAVA.IO.BUFFEREDWRITER@19821F%
Here is my modified code
import java.io.File;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class FRiveraReader {
public FRiveraReader() {}
private static final String inFile = "C:\\Documents and Settings\\Fausto Rivera\\My Documents\\NetBeansProjects\\Rivera_F_IT271_0804B_02_PH2_IP\\friverainfile.txt";//the path name of your file
public void myReadfr (){
try {
BufferedReader reader = new BufferedReader(new FileReader(inFile));
//String "JAVAJAVA" = String "the";
System.out.println(inFile);
String line = reader.readLine();
while (reader != null) {
line = reader.readLine();
reader.close();
catch(IOException e) {
System.out.println("Error with reading file:" + inFile);
}//end of myReadfr method
public void myWritefr(){//String name of file, String array to be written
File outFile = new File ("C:\\Documents and Settings\\Fausto Rivera\\My Documents\\NetBeansProjects\\Rivera_F_IT271_0804B_02_PH2_IP\\myoutFile.txt");
try {
BufferedWriter writer = new BufferedWriter(new FileWriter (outFile));
String newline = writer.toString() .toUpperCase();
while (writer != null) {
writer.write(newline + "%n"); //need delimiters between data in file;also, reader reads a line
writer.close();
catch(FileNotFoundException e) {
System.out.println("File not found");
catch(IOException e) {
System.out.println("Error writing file:" + outFile);
}//end of getOrder method
private File makeAbsoluteFilename(String myoutFile)//these 2 classes used to resolve file name
File file = new File(myoutFile);
if(!file.isAbsolute()) {
file = new File(myoutFile);
return file;
}Edited by: FRiveraJr on Dec 17, 2008 12:10 PM -
Hello,
i am a student at The Open University "APEIRON" Travnik (www.out.edu.ba), i am pursuing a Masters degree in IT, we have one Exam called Java programming.
My practical exam part is to create a program that should enable user to manipulate students grades. The app should allow these options:
- Read students data,
Read students data, needs to ask a user for students name and some ID (Surname etc.), and after that lists students grades and Courses.
- Inserting of new grades,
Inserting of new grades should have option to insert a new Course name, students name and grade for that Course.
- Change of existing grades.
Change of existing grades needs to ask for students name and/or ID, surname and the name of a Course and shows his present grade, Then it should have an option to change students grade for that Course.
For this App all of validations should be done.
All of the data (students names, Course names, Grades etc.), needs to be stored in text file database?! Now, i am a newb to Java, but i worked before with VB, and SQL, and i saw there are some similarities to acces and modify data in SQL database. But the problem is, i never worked with Flat text file databases and now i am stuck, i do not even know how to create a text database or even to connect Java to that database.
Please, if anyone can help me i would be very grateful!?HaloOo wrote:
i am pursuing a Masters degree in ITPursuing as in commencing, or pursuing as in first/second year undergraduate student. If the former then I am abit worried at your lack of prior research (or is this how you research).
Please, if anyone can help me i would be very grateful!?You will need to invest some time in the basics of programming in Java and OOL. There are multiple tutorials available on reading/writing to text files. One thing to note: a text file is treated in the majority of cases like a wipe board. You can write a whole bunch of stuff on it, but if you decide you want to write a line in the middle, then unfortunately you need to read what is currently on the whiteboard, rewrite it, append your new message, then append the remainding text from the white board. IMHO a (RAF) is not applicable in this situation.
Task1: Java: hello world
Task2: Introductory tutorials
Task3: Read a text file/write a text file/display contents of file
You choose,
Mel -
How can I read/write data files (text file) from PL/SQL Script
I had an oracle forms pl/sql program to read/write a data file (text file). When this code is run on a command line as a PL/SQL script using the SQL*Plus I am getting an error:
-- sample.sql
DECLARE
vLocation VARCHAR2(50) := 'r:\';
vFilename VARCHAR2(100) := 'sample.dat';
vTio TEXT_IO.FILE_TYPE;
vLinebuf VARCHAR2(2000);
vRownum NUMBER := 0;
-- use array to store data FROM each line of the text file
TYPE array_type IS VARRAY(15) OF VARCHAR2(100);
vColumn array_type := array_type('');
PROCEDURE prc_open_file(p_filename IN VARCHAR, p_access IN VARCHAR2) is
BEGIN
vTio := TEXT_IO.FOPEN(vLocation||p_filename,p_access);
EXCEPTION
WHEN OTHERS then
-- raise_application_error(-20000,'Unable to open '||p_filename);
message(sqlerrm);pause;
END;
PROCEDURE prc_close_file is
BEGIN
IF TEXT_IO.IS_OPEN(vTio) then
TEXT_IO.FCLOSE(vTio);
END IF;
END;
BEGIN
--extend AND initialize the array to 4 columns
vColumn.EXTEND(4,1);
prc_open_file(vFilename,'r');
LOOP
LTEXT_IO.GET_LINE(vTio,vLinebuf);
vColumn(1) := SUBSTR(vLineBuf, 1, 3);
vColumn(2) := SUBSTR(vLineBuf, 5, 8);
vColumn(3) := SUBSTR(vLineBuf,10,14);
Insert Into MySampleTable
Values
(vColumn(1), vColumn(2), vColumn(3));
EXIT WHEN vLinebuf IS NULL;
END LOOP;
prc_close_file;
END;
SQL> @c:\myworkspace\sql\scripts\sample.sql;
PLS-00201: identifier 'TEXT_IO.FILE_TYPE' must be declaredIt works on the oracle forms but not on the SQL*Plus. Is there an alternative method using a PL/SQL script? A simple sample would help. Thanks.Did you ever noticed the search box at the right side of the forum?
A quick search (limited to this years entries) brought up this thread for example
Re: UTL_FILE Examples -
Reading Text Files using Oracle PL/SQL and UTL_FILE
Hi, experts. I tried to read a text file into oracle. Here is what i did:
1. Create a text file in the directory: C:\temp\New Text Document.txt
2. Run the following SQL in PL/SQL:
CREATE or replace DIRECTORY sampledata AS 'C:\temp\';
grant read, write on directory sampledata to public;
3. When I run the following code, it caused an error: ora-29280: invalid directory path. I have alread checked the directory path, it is correct. Would someone know what wrong is my code?
declare
f utl_file.file_type;
s varchar2(3000);
begin
f := utl_file.fopen('sampledata','New Text Document.txt','R');
utl_file.get_line(f,s);
utl_file.fclose(f);
dbms_output.put_line(s);
end;
Thank youTry with a filename without spaces:No problem with spaces
SQL> declare
2 f utl_file.file_type;
3 s varchar2(3000);
4 begin
5 f := utl_file.fopen('SAMPLEDATA','New Text Document.txt','R');
6 utl_file.get_line(f,s);
7 utl_file.fclose(f);
8 dbms_output.put_line(s);
9 end;
10 /
line1
PL/SQL procedure successfully completed. -
Can I write to a text file on local HDD from forms appl?
Hi All,
We have 8i database being accessed by 6i forms application using web-based arch. Clients are on windowsNT/window2000. Is it possible to dump some data in a text file from forms application (by pressing a button) on local hard disk? User is looking something similar to sqlplus spool in forms 6i. Is this possible? User is specific about file being created in local machine and not on server(utl_file/dbms_pipe). Any ideas?
Thanks.You can find explanation and a quick start guide on PJCs on the Forms Upgrade Center at:
I think the following code can give you a starting point for a PJC (based on text_item) that will do it.
Also you will need to sign this JAR because you want to access the client machine - see the sigining paper on OTN.
To activate this PJC you will use something like SET_CUSTOM_PROPERTY ('text_item1', 1, 'WRITE', :text_item1);
In your form.
import oracle.forms.ui.VTextField;
import java.io.FileOutputStream;
import oracle.forms.properties.ID;
public class textio extends VTextField
public final static ID WRITE = ID.registerProperty("WRITE");
String a = "hello";
public textio()
public boolean setProperty(ID p0, Object p1)
if (p0==WRITE)
try
FileOutputStream fileOut = new FileOutputStream("c:\\temp\\textio.txt");
fileOut.write(p1.toString().getBytes());
fileOut.close();
} catch (Exception ex)
ex.printStackTrace();
} -
ORA-06521: PL/SQL: Error mapping function while writting into a text file
Hi,
I'm getting an errror ORA-06521: PL/SQL: Error mapping function while trying to write data into a text file.
I'm using the following code:
--To create a new directory
create or replace directory temp as 'C:/temp';
declare
l_str varchar2(1000);
output_file utl_file.file_type;
cursor test_write_cur is
select EMPNO,ENAME,JOB,SAL,HIREDATE
from EMP
where DEPTNO=30;
begin
output_file := utl_file.fopen('TEMP','TESTFILE.txt','w');
for test_write_rec IN test_write_cur
loop
l_str := test_write_rec.EMPNO||'^'||test_write_rec.ENAME||'^'||test_write_rec.JOB||'^'||
test_write_rec.HIREDATE||'^'||test_write_rec.SAL||chr(10);
utl_file.put_line(output_file,l_str);
end loop;
utl_file.fclose(output_file);
end;Please suggest me if i'm wrong.
Thanks & Regards,
Sanket MishraDear Sanket,
I think you are need use TO_CHAR() function
to_char(test_write_rec.EMPNO) ,
to_char(test_write_rec.HIREDATE,'DD.MM.YYYY')
to_char(test_write_rec.SAL) -
Why this error in writing string to text file using utl_file?
HI Friends,
Iam trying to write procedure to add one line of text in text file using UTIL package. But getting error.
create or replace procedure Add_To_File() is
OutFile utl_file.file_type;
l_err_code NUMBER(10);
l_err_msg VARCHAR2(2000);
vNewLine VARCHAR2(4000);
vdir varchar2(200):='UTIL_DIR';
begin
OutFile:=utl_file.fopen(vdir,'out.txt','w','32000');
vNewLine:='Loading is successfull';
utl_file.put_line(OutFile,vNewLine);
EXCEPTION
WHEN OTHERS THEN
l_err_code := SQLCODE;
l_err_msg := SUBSTR(SQLERRM,1,128);
Dbms_output.put_line(l_err_code || l_err_msg);
end;
when i execute above procedure iam getting this error.
LINE/COL ERROR
1/23 PLS-00103: Encountered the symbol ")" when expecting one of the
following:
<an identifier> <a double-quoted delimited-identifier>
current delete exists prior
Please suggest me where iam wrong.
Thanks,
Venkat Vadlamudi868591 wrote:
HI Friends,
Iam trying to write procedure to add one line of text in text file using UTIL package. But getting error.
create or replace procedure Add_To_File() is
OutFile utl_file.file_type;
l_err_code NUMBER(10);
l_err_msg VARCHAR2(2000);
vNewLine VARCHAR2(4000);
vdir varchar2(200):='UTIL_DIR';
begin
OutFile:=utl_file.fopen(vdir,'out.txt','w','32000');
vNewLine:='Loading is successfull';
utl_file.put_line(OutFile,vNewLine);
EXCEPTION
WHEN OTHERS THEN
l_err_code := SQLCODE;
l_err_msg := SUBSTR(SQLERRM,1,128);
Dbms_output.put_line(l_err_code || l_err_msg);
end;
when i execute above procedure iam getting this error.
LINE/COL ERROR
1/23 PLS-00103: Encountered the symbol ")" when expecting one of the
following:
<an identifier> <a double-quoted delimited-identifier>
current delete exists prior
Please suggest me where iam wrong.
Thanks,
Venkat Vadlamudibelow works for me
1 CREATE OR replace PROCEDURE Add_to_file
2 IS
3 outfile utl_file.file_type;
4 l_err_code NUMBER(10);
5 l_err_msg VARCHAR2(2000);
6 vnewline VARCHAR2(4000);
7 vdir VARCHAR2(200) := 'UTIL_DIR';
8 BEGIN
9 outfile := utl_file.Fopen(vdir, 'out.txt', 'w', '32000');
10 vnewline := 'Loading is successfull';
11 utl_file.Put_line(outfile, vnewline);
12 EXCEPTION
13 WHEN OTHERS THEN
14 l_err_code := SQLCODE;
15 l_err_msg := Substr(sqlerrm, 1, 128);
16 dbms_output.Put_line(l_err_code
17 || l_err_msg);
18* END;
SQL> /
Procedure created. -
How to write single line text file
Hi, I need to write a single line text file using oracle forms 10g that's usually quite long 8million+ characters, I looked into utl_file but came accross the single line limit, is there any way to do this either to the client pc or to the server
ThanksI tried using put_line but i get a ORA-29285: file write error´I´m guessing this is because of the amount of data to be written on a single line
-
Write to text file (including spaces/next line) using oracle??
How to write to text file using oracle? And how do I handle spaces/next line? (i was trying to use spaces(ch(32)), however it is just converted into squares in the text file.) thanks!
989873 wrote:
How about tabs?It does not matter what character it is. UTL_FILE deals correctly with any text file. Tabb is CHR(9):
SQL> declare
2 v_file utl_file.file_type;
3 v_total_rec number := 0;
4 v_total_sal number := 0;
5 begin
6 v_file := UTL_FILE.FOPEN('TEMP','TEST.TXT','w');
7 for v_rec in (select * from emp) loop
8 v_total_rec := v_total_rec + 1;
9 v_total_sal := v_total_sal + v_rec.sal;
10 UTL_FILE.PUT_LINE(
11 v_file,
12 lpad(v_rec.deptno,2) || chr(9) || rpad(v_rec.ename,14) || chr(9) || to_char(v_rec.sal,'99999D99')
13 );
14 end loop;
15 UTL_FILE.PUT_LINE(v_file,'Total Salary:' || chr(9) || v_total_sal);
16 UTL_FILE.PUT_LINE(v_file,'Total Records:' || chr(9) || v_total_rec);
17 UTL_FILE.FCLOSE(v_file);
18 end;
19 /
PL/SQL procedure successfully completed.
SQL> declare
2 v_file utl_file.file_type;
3 v_line varchar2(100);
4 begin
5 v_file := UTL_FILE.FOPEN('TEMP','TEST.TXT','r');
6 loop
7 UTL_FILE.GET_LINE(v_file,v_line);
8 DBMS_OUTPUT.PUT_LINE(v_line);
9 end loop;
10 exception
11 when no_data_found
12 then
13 UTL_FILE.FCLOSE(v_file);
14 end;
15 /
20 SMITH 800.00
30 ALLEN 1600.00
30 WARD 1250.00
20 JONES 2975.00
30 MARTIN 1250.00
30 BLAKE 2850.00
10 CLARK 2450.00
20 SCOTT 3000.00
10 KING 5000.00
30 TURNER 1500.00
20 ADAMS 1100.00
30 JAMES 950.00
20 FORD 3000.00
10 MILLER 1300.00
Total Salary: 29025
Total Records: 14
PL/SQL procedure successfully completed.
SQL>SY. -
Need Help: UTL_FILE Reading and Writing to Text File
Hello I am using version 11gR2 using the UTL_FILE function to read from a text file then write the lines where it begins with word 'foo' and end my writing to the text file where the line with the word 'ZEN' is found. Now, I have several lines that begin with 'foo' and 'ZEN' Which make for one full paragraph, and in this paragraph there's a line that begins with 'DE4.2'. Therefore,
I need to write all paragraphs that include the line 'DE4.2' in their beginning and ending lines 'foo' and 'ZEN'
FOR EXAMPLE:
FOO/234E53LLID
THIS IS MY SECOND LINE
THIS IS MY THIRD LINE
DE4.2 THIS IS MY FOURTH LINE
THIS IS MY FIFTH LINE
ZEN/DING3434343
FOO/234E53LLID
THIS IS MY SECOND LINE
THIS IS MY THIRD LINE
THIS IS MY FIFTH LINE
ZEN/DING3434343
I am only interested in writing the first paragraph tha includes line DE4.2 in one of ther lines Not the Second paragraph that does not include the 'DE4.2'
Here's my code thus far:
CREATE OR REPLACE PROCEDURE my_app2 IS
infile utl_file.file_type;
outfile utl_file.file_type;
buffer VARCHAR2(30000);
b_paragraph_started BOOLEAN := FALSE; -- flag to indicate that required paragraph is started
BEGIN
-- open a file to read
infile := utl_file.fopen('TEST_DIR', 'mytst.txt', 'r');
-- open a file to write
outfile := utl_file.fopen('TEST_DIR', 'out.txt', 'w');
-- check file is opened
IF utl_file.is_open(infile)
THEN
-- loop lines in the file
LOOP
BEGIN
utl_file.get_line(infile, buffer);
--BEGINPOINT APPLICATION
IF buffer LIKE 'foo%' THEN
b_paragraph_started := TRUE;
END IF;
--LOOK FOR GRADS APPS
IF b_paragraph_started AND buffer LIKE '%DE4%' THEN
utl_file.put_line(outfile,buffer, FALSE);
END IF;
--ENDPOINT APPLICATION
IF buffer LIKE 'ZEN%' THEN
b_paragraph_started := FALSE;
END IF;
utl_file.fflush(outfile);
EXCEPTION
WHEN no_data_found THEN
EXIT;
END;
END LOOP;
END IF;
utl_file.fclose(infile);
utl_file.fclose(outfile);
EXCEPTION
WHEN OTHERS THEN
raise_application_error(-20099, 'Unknown UTL_FILE Error');
END my_app2;
When I run this code I only get one line: DE4.2 I AM MISSING THE ENTIRE PARAGRAPH
PLEASE ADVISE...Hi,
Look at where you're calling utl_file.put_line. The only time you're writing anything is immediately after you find the the key word 'DE4', and then you're writing just that line.
You need to store the entire paragraph, and when you reach the end of the paragraph, write the whole thing only if you found the key word, like this:
CREATE OR REPLACE PROCEDURE my_app2 IS
TYPE line_collection
IS TABLE OF VARCHAR2 (30000)
INDEX BY BINARY_INTEGER;
infile utl_file.file_type;
outfile utl_file.file_type;
input_paragraph line_collection;
input_paragraph_cnt PLS_INTEGER := 0; -- Number of lines stored in input_paragraph
b_paragraph_started BOOLEAN := FALSE; -- flag to indicate that required paragraph is started
found_key_word BOOLEAN := FALSE; -- Does this paragraph contain the magic word?
BEGIN
-- open a file to read
infile := utl_file.fopen('TEST_DIR', 'mytst.txt', 'r');
-- open a file to write
outfile := utl_file.fopen('TEST_DIR', 'out.txt', 'w');
-- check file is opened
IF utl_file.is_open(infile)
THEN
-- loop lines in the file
LOOP
BEGIN
input_paragraph_cnt := input_paragraph_cnt + 1;
utl_file.get_line (infile, input_paragraph (input_paragraph_cnt));
--BEGINPOINT APPLICATION
IF LOWER (input_paragraph (input_paragraph_cnt)) LIKE 'foo%' THEN
b_paragraph_started := TRUE;
END IF;
--LOOK FOR GRADS APPS
IF b_paragraph_started
THEN
IF input_paragraph (input_paragraph_cnt) LIKE '%DE4%'
THEN
found_key_word := TRUE;
END IF;
--ENDPOINT APPLICATION
IF input_paragraph (input_paragraph_cnt) LIKE 'ZEN%' THEN
b_paragraph_started := FALSE;
IF found_key_word
THEN
FOR j IN 1 .. input_paragraph_cnt
LOOP
utl_file.put_line (outfile, input_paragraph (j), FALSE);
END LOOP;
END IF;
found_key_word := FALSE;
input_paragraph_cnt := 0;
END IF;
ELSE -- paragraph is not started
input_paragraph_cnt := 0;
END IF;
EXCEPTION
WHEN no_data_found THEN
EXIT;
END;
END LOOP;
END IF;
utl_file.fclose (infile);
utl_file.fclose (outfile);
--EXCEPTION
-- WHEN OTHERS THEN
-- raise_application_error(-20099, 'Unknown UTL_FILE Error');
END my_app2;
SHOW ERRORSIf you don't have an EXCEPTION section, the default error handling will print an error message, spcifying exactly what the error was, and which line of your code caused the error. By using your own EXCEPTION section, you're hiding all that information. I admit, the error messages aren't always as informative as we'd like, but they're never less informative than "Unknown UTL_FILE Error'. Don't use your own EXCEPTION handling unless you can improve on the default.
Remember that anything inside quotes is case-sensitive. If your file contains upper-case 'FOO', then it won't be "LIKE 'foo%' ".
Edited by: Frank Kulash on Dec 7, 2011 1:35 PM
You may have noticed that this site normally doesn't display multiple spaces in a row.
Whenever you post formatted text (such as your code) on this site, type these 6 characters:
\{code}
(small letters only, inside curly brackets) before and after each section of formatted text, to preserve spacing. -
How to write data to text file using external tables
can anybody tell how to write data to text file using external tables concept?
Hi,
Using external table u can load the data in your local table in database,
then using your local db table and UTL_FILE pacakge u can wrrite data to text file
external table
~~~~~~~~~~~
http://download-east.oracle.com/docs/cd/B19306_01/server.102/b14200/statements_7002.htm#i2153251
UTL_FILE
~~~~~~~~~
http://download-east.oracle.com/docs/cd/B19306_01/appdev.102/b14258/u_file.htm#sthref14093
Message was edited by:
Nicloei W
Message was edited by:
Nicloei W -
To read text file using utl_file
I would like to read test_file_out.txt which is in c:\temp folder.
create or replace create or replace directory dir_temp as 'c:\temp';
grant read, write on directory dir_temp to system;
then when i execute the below code i get the error .
// to read text file using utl_file
DECLARE
FileIn UTL_FILE.FILE_TYPE;
v_sql VARCHAR2 (1000);
BEGIN
FileIn := UTL_FILE.FOPEN ('DIR_TEMP', 'test_file_out.txt', 'R');
UTL_FILE.PUT_LINE (FileIn, v_sql);
dbms_output.put_line(v_sql);
UTL_FILE.FCLOSE (FileIn);
END;
ERROR:
invalid file operation
i would like to use ult_file only and also can you let me know to read the text file and place its contents in tmp_emp table?Are you trying to read the contents of the file into the local variable? Or write the contents of the local variable to the file?
Your text talks about reading the file. And you open the file in read mode. But then you call the UTL_FILE.PUT_LINE method which, as SomeoneElse points out, attempts to write data to the file. Since the file is open in read-only mode, you cannot write to the file.
If the goal is really to read from the file, replace the UTL_FILE.PUT_LINE calls with UTL_FILE.GET_LINE. If the goal is really to write to the file, you'll need to open the file in write mode ('W' rather than 'R' in the FOPEN call).
Justin -
From PLSQL - Need to write a text file
Hello
I need to write a text file from data retrieved from many tables in PLSQL to the UNIX box.
Thanks
Paul
nullYou can use package UTL_FILE to write out to a file. Your DBA has to make initialization changes to support this. They might already have it setup. Run this query:
SELECT value
FROM v$parameter
WHERE name = 'utl_file_dir';
To see whether it has been configured properly. The value is the directory where you can create and write files.
null
Maybe you are looking for
-
After updating 10.7.4, I am getting following error
Hello Gurus, Just now, I updated my iMac to 10.7.4, I am seeing errors in console log . I tried restarting, resetting SMC and PRAM and it keeps showing up when I restart. Anyone experiencing similar issues, Thanks, Paddy BTW, I updated the OS on my M
-
Shared iCloud photostream link doesn't work
Dear friends Could you please help me. I'm trying to share my photo in iPhoto using icloud photo stream. After I upload all photos I click on a link "Visit Site" and get an error "icloud can`t find this page" What`s the issue? Thank you
-
Hi Does any body if there is a version of oracle 9i that can be installed in Solaris 9 for Intel. If so where to get it? link?? Regards Sudhakar J
-
Hi Experts, i am using this logic it comming month data, i need particular date data. V_MONTH = S_DATE-LOW+0(6). V_MONTH1 = S_DATE-LOW+0(6). Regards, Sreedhar.
-
How to convert xml to ABAP data?
Hi Expert, I need to write a transformation and convert an XML file into ABAP data. The XML looks like following: <?xml version="1.0" ?> - <ServiceProtocol version="2.1"> - <CmdTest CheckId="123456789"> - <ExceptionMessage> <id>003</id> <text>Tes