Query output to a txt file

Hi all

I have a query which output must be saved in a .txt file. Each line contains a field with concatanated data. Now, it runs in a procedure on the database that uses utl_file functions to save the file on the server. In the calendar on the server runs a tast that verifies the file every 15 minutes one moves the files in this folder in a network directory that users can access. We are migrating to a new environment, and this solution is no longer an option.

I have the opportunity to create a BI with CSV report as output or create an interactive report and let the user to download output to a CSV file. But then the data are surrounded by double quotes. If it's not ideal.

The solution I am looking for is: the user gets a dialog box and choose the location where he wants to put the txt file. Then the output of the query is saved to this place as a .txt file. Is this possible in the APEX (APEX 4.0.2)? And if so, how does it work?

But then the data are surrounded by double quotes. If it's not ideal.

The reason why most system (not only apex) join the CSV fields using quotes is because it allows the data to have a comma which otherwise, to wrongly analyse data. The file would be completely unnecessary in this case.

You can generate files of apex anyway you want
See this post
Choose any file name and extension, the appropriate mime type and write data using htp.p in according to your desire format it in your file. It is very different than utl_file in the way you generate data (except the mime headers)

Tags: Database

Similar Questions

  • How to write output to a txt file query results

    have a sub query resulting in some records I want to write in a txt file

    Select employee a.empcode a, b the address where a.empcode! = b.emp.code

    You can use UTL_FILE to do so, either specifically for your query or more generically as below:

    As user sys:

    CREATE OR REPLACE DIRECTORY TEST_DIR AS '\tmp\myfiles'
    /
    GRANT READ, WRITE ON DIRECTORY TEST_DIR TO myuser
    /
    

    As myuser:

    CREATE OR REPLACE PROCEDURE run_query(p_sql IN VARCHAR2
                                         ,p_dir IN VARCHAR2
                                         ,p_header_file IN VARCHAR2
                                         ,p_data_file IN VARCHAR2 := NULL) IS
      v_finaltxt  VARCHAR2(4000);
      v_v_val     VARCHAR2(4000);
      v_n_val     NUMBER;
      v_d_val     DATE;
      v_ret       NUMBER;
      c           NUMBER;
      d           NUMBER;
      col_cnt     INTEGER;
      f           BOOLEAN;
      rec_tab     DBMS_SQL.DESC_TAB;
      col_num     NUMBER;
      v_fh        UTL_FILE.FILE_TYPE;
      v_samefile  BOOLEAN := (NVL(p_data_file,p_header_file) = p_header_file);
    BEGIN
      c := DBMS_SQL.OPEN_CURSOR;
      DBMS_SQL.PARSE(c, p_sql, DBMS_SQL.NATIVE);
      d := DBMS_SQL.EXECUTE(c);
      DBMS_SQL.DESCRIBE_COLUMNS(c, col_cnt, rec_tab);
      FOR j in 1..col_cnt
      LOOP
        CASE rec_tab(j).col_type
          WHEN 1 THEN DBMS_SQL.DEFINE_COLUMN(c,j,v_v_val,2000);
          WHEN 2 THEN DBMS_SQL.DEFINE_COLUMN(c,j,v_n_val);
          WHEN 12 THEN DBMS_SQL.DEFINE_COLUMN(c,j,v_d_val);
        ELSE
          DBMS_SQL.DEFINE_COLUMN(c,j,v_v_val,2000);
        END CASE;
      END LOOP;
      -- This part outputs the HEADER
      v_fh := UTL_FILE.FOPEN(upper(p_dir),p_header_file,'w',32767);
      FOR j in 1..col_cnt
      LOOP
        v_finaltxt := ltrim(v_finaltxt||','||lower(rec_tab(j).col_name),',');
      END LOOP;
      --  DBMS_OUTPUT.PUT_LINE(v_finaltxt);
      UTL_FILE.PUT_LINE(v_fh, v_finaltxt);
      IF NOT v_samefile THEN
        UTL_FILE.FCLOSE(v_fh);
      END IF;
      --
      -- This part outputs the DATA
      IF NOT v_samefile THEN
        v_fh := UTL_FILE.FOPEN(upper(p_dir),p_data_file,'w',32767);
      END IF;
      LOOP
        v_ret := DBMS_SQL.FETCH_ROWS(c);
        EXIT WHEN v_ret = 0;
        v_finaltxt := NULL;
        FOR j in 1..col_cnt
        LOOP
          CASE rec_tab(j).col_type
            WHEN 1 THEN DBMS_SQL.COLUMN_VALUE(c,j,v_v_val);
                        v_finaltxt := ltrim(v_finaltxt||',"'||v_v_val||'"',',');
            WHEN 2 THEN DBMS_SQL.COLUMN_VALUE(c,j,v_n_val);
                        v_finaltxt := ltrim(v_finaltxt||','||v_n_val,',');
            WHEN 12 THEN DBMS_SQL.COLUMN_VALUE(c,j,v_d_val);
                        v_finaltxt := ltrim(v_finaltxt||','||to_char(v_d_val,'DD/MM/YYYY HH24:MI:SS'),',');
          ELSE
            v_finaltxt := ltrim(v_finaltxt||',"'||v_v_val||'"',',');
          END CASE;
        END LOOP;
      --  DBMS_OUTPUT.PUT_LINE(v_finaltxt);
        UTL_FILE.PUT_LINE(v_fh, v_finaltxt);
      END LOOP;
      UTL_FILE.FCLOSE(v_fh);
      DBMS_SQL.CLOSE_CURSOR(c);
    END;
    

    This allows the header line and the data to write into files separate if necessary.

    for example

    SQL> exec run_query('select * from emp','TEST_DIR','output.txt');
    
    PL/SQL procedure successfully completed.
    

    Output.txt file contains:

    empno,ename,job,mgr,hiredate,sal,comm,deptno
    7369,"SMITH","CLERK",7902,17/12/1980 00:00:00,800,,20
    7499,"ALLEN","SALESMAN",7698,20/02/1981 00:00:00,1600,300,30
    7521,"WARD","SALESMAN",7698,22/02/1981 00:00:00,1250,500,30
    7566,"JONES","MANAGER",7839,02/04/1981 00:00:00,2975,,20
    7654,"MARTIN","SALESMAN",7698,28/09/1981 00:00:00,1250,1400,30
    7698,"BLAKE","MANAGER",7839,01/05/1981 00:00:00,2850,,30
    7782,"CLARK","MANAGER",7839,09/06/1981 00:00:00,2450,,10
    7788,"SCOTT","ANALYST",7566,19/04/1987 00:00:00,3000,,20
    7839,"KING","PRESIDENT",,17/11/1981 00:00:00,5000,,10
    7844,"TURNER","SALESMAN",7698,08/09/1981 00:00:00,1500,0,30
    7876,"ADAMS","CLERK",7788,23/05/1987 00:00:00,1100,,20
    7900,"JAMES","CLERK",7698,03/12/1981 00:00:00,950,,30
    7902,"FORD","ANALYST",7566,03/12/1981 00:00:00,3000,,20
    7934,"MILLER","CLERK",7782,23/01/1982 00:00:00,1300,,10
    

    The procedure allows for the header and the data to separate files if necessary. Just by specifying the file name "header" will put the header and the data in a single file.

    Adapt to the exit of styles and different types of data are needed.

  • Text output to a .txt file

    Hello
    I was wondering if there is a way for the output strings (or Variables) in text files. Any help would be appreciated... Thanks :)

    Dan_pc wrote:
    > A Flash projector...
    >
    > Thanks in advance!

    SWF in html, we could use such as asp or php and server-side comes to
    projector, you will need third party tools as flash itself has simply not these
    capacity. Check http://flashjester.com/?section=tricks_jtools_jsave
    It does exactly what you need and it's the only one I know and use long
    at the time.

    --
    Best regards

    Urami

    --


    If you want to send me a message - DO NOT LAUGH at MY ADDRESS

  • How about the text of the .txt file output?

    This is my code:

    #include "iostream.h".

    #include 'fstream.h.

    ofstream myfile;

    MyFile.Open ("C:\test.txt");

    MyFile < < 'text ';

    MyFile.Close ();

    But it occurs the error C1083: cannot open include file: 'iostream.h': no such file or directory.

    How about the text of the .txt file output?

    I would suggest that you do in the InDesign style to match...

    InterfacePtr stream (StreamUtil::CreateFileStreamWrite (...);

    if(Stream->GetStreamState() == kStreamStateGood) {}

    flow-> XferByte (buf, size);

    flow-> Flush();

    }

    flow-> Close();

    There are lazy as CreateFileStreamWriteLazy equivalent methods.

    Deferred methods will open the file in the application, but you will always get a valid pointer.

    See docs on its use.

  • export the query to txt file, cannot open the help URL

    Hello
    All the
    I need export a query to txt file
    I search on this forum and found a a thread can solve this problem
    But I can't open this URL.
    < div class = "jive-body of the message" > < div class = "jive-quote" >

    http://spendolini.blogspot.com/2006/04/custom-export-to-CSV.html
    < / div >
    Can you kindly send that content on export txt to my Email?

    My email is: [email protected]
    Thank you very much.

    Saven

    item sent via gmail...

    Thank you

    Tony Miller
    Webster, TX

    There are two types of pedestrians - the living and the dead.

    If you answer this question, please mark the thread as closed and give points where won...

  • to access the txt file in vi executable

    Hello

    I built a UI for a project im working on. The data entered by the user on the interface are stored in a text file to the closure of the programme. Currently, it works fine but when I create an executable of my code, data are not written in the txt file to the fence. Is it possible to build these types of screws, special

    Code to write to the file is located in a sub VI and I use the function "Write to the spreadsheet file", I go to 'C:\Documents and Settings\asha264\Desktop\Single Line\Single (9.0)\Data.txt Line' reference.

    Thanking you,

    Adnan Sharief

    Make sure that your means of signalling of other vi until the output is not a condition of competition inadvertently. Don't forget that LabVIEW is data flow language, to make sure that certain events occur in a certain order, that there is a dependecy signal to force the order of execution. I got bit by that recently, when we used a functional overall to report all the different programmatic loops in the vi while it was time to stop. There was at least one place where, under certain conditions, the Terminal stop loop became the front signal had executed the "stuff" in the loop. Put an in/out error on the FG, then put in the error line after the functions (in fact file writing) guaranteed that the Scriptures of file occur before that the 'exit' condition was assessed.

  • Pulse TTL-PCI-6503 write in a log .txt file

    Hello, I need to connect the PCI-6503 data output to a log .txt file. This PCI-6503 map reads a pulse sent from another PCI-6503 located in another computer. I want to just save the .txt file if a pulse is received. I know how to create and write to the .txt file, but do not know how to write the DAQmx data in this file. Could someone help?

    Thank you in advance!

    Hi a2h,.

    To only write when there is data emerging from the Daqmx read, you can use the table Emply?. VI to determine if there are real (like the pulse) from the unit and then data of yarn that a structure of case that will write to a text file in the case of false.

    Peter W.

  • I want Notepad (txt file) for android

    Y at - it an android application create the txt file, where I can transfer them to my computer windows XP laptop and open the same file.

    Hello

    I suggest you to send your query to the following link:

    http://www.Google.com/support/forum/p/Android

  • How to save data in a txt file.

    Does anyone know why the txt file is empty with no content?

    FILE * f = fopen ("/ shared/documents/save.dat", "w");
    {if(f==null)}
    fprintf (stderr, "Failed to create output. txt\n");
    _exit(2) (1);
    }
    fprintf (f, "Hello World");

    File is created, but the file txt empt without 'Hello World '.

    Ha ha solved.

    fclose (f);

  • No preview for txt files

    Out of nowhere, file manager does not display previews of the TXT files.

    I tried the recommended stuff.

    Is this related to a recent update?

    Files TXT properly opens in Notepad.

    Hello

    Thanks for posting your query to the Microsoft forum, I'll certainly help you with this problem.

    I would like to know;

    By the term 'file manager' are you referring to "File Explorer"?

    If so, follow the instructions below and check the issue.

    1. Press the Windows key + E keyboard.
    2. Click view (top)
    3. Go to the options
    4. Click on folder and search options.
    5. Go to the View tab and click on Restore defaults.

    More information:

    How to work with files and folders

    I would be grateful if you can provide us with the screenshot of the window to help you.

    Please refer to the article below, how to include a screenshot in your message

    http://answers.Microsoft.com/en-us/Windows/wiki/windows_other-windows_programs/how-to-include-a-screenshot-in-your-post/2594b08e-32a3-476A-85A6-b021181be7e4

    Let us know if you need more assistance. We will be happy to help you.

    ____________________

    Thank you best regards &,.

    Isha Soni

  • question and random words game download of txt file.

    Hello. I have a simple txt file:

    Where is the Eiffel Tower? Paris

    King of musical instruments? o rgans

    What's my name? Harry potter

    I want this selection random flash issue and download on the text field Dynamics question «question»

    But for the answer, I have a greater task.

    In the library, I have video clips with names; b; c; d; e; f; g ;...

    After the issue, I want to flash to download the clip online:

    For example a question where is the Eiffel Tower?

    Response from PARIS

    Flash on a single line post film with the name 'p' 'a' 'r' 'i' "s".

    Maby someone has ideas? How the script should look? Sorry I'm new in AS3, but I think I will learn. I study every script that I got to know how ;) Thanks for your help

    the last error (on line 4, response) is not in my code.

    for the rest, it should be:

    kglad wrote:

    I assumed that you had to use an answers.txt separated with the nth line being the answer to the question.  If this is the case your code is set up to handle this:

    being part 1 code.

    var myLoader:URLLoader = new URLLoader();

    myLoader.load (new URLRequest ("questions.txt"));

    myLoader.addEventListener (Event.COMPLETE, questionsLoaded);

    var questionsArray:Array = new Array();

    var answersArray:Array = [];

    var randomArray:Array = [];

    var int index = 0;

    aContent var: String

    var aSplit:String;

    function questionsLoaded(event:Event):void {}

    myLoader.removeEventListener (Event.COMPLETE, questionsLoaded);

    myLoader.addEventListener (Event.COMPLETE, answersLoaded);

    myLoader.load (new URLRequest ("answers.txt"));

    Content = event.target.data;

    questionsArray = aContent.split ("\n");

    for (var i: int = 0; i<>

    randomArray.push (i);

    }

    Shuffle (randomArray);

    output. Text = questionsArray [randomArray [index]];

    the answer to this question will be answersArray [randomArray [index]];

    }

    function answersLoaded(event:Event):void {}

    Content = event.target.data;

    answersArray = aContent.split ("\n");

    }

    function shuffle(a:Array) {}

    var p:int;

    var t: *;

    var ivar:int;

    for (ivar =. Length-1; Ivar > = 0; Ivar-) {}

    p = Math.Floor ((Ivar+1) * Math.Random ());

    t = a [ivar];

    a [ivar] = a [p];

    a [p] = t;

    }

    }

    /////////////////////////// end frame 1 code ////////////////////////////////////

    in the keyframes for the questions ASKED:

    start the later framework code.

    index ++;

    output. Text = questionsArray [randomArray [index]];

    the answer to this question is answersArray [[index] randomArray];

    subsequent frame of the end of the code.

    and you can use a single file, but if you do this, you must use xml and not a text file.

  • Can not get the result of the command output to a text file...

    Hello

    I tried to get a list of my virtual machines (using PowerCLI) with CBT (block change tracking) enabled, and while the following command returns the results, I can't have it at the output to a text file. Any help you can offer would be appreciated.

    foreach ($vm in get - vm) {write-host $vm; get-advancedsetting - entity $vm | select-string - pattern 'ctkEnabled' | sort; write-host | out-file c:\somepath\file.txt}

    I get the correct result on screen, but the text file is empty.

    Please notify.

    Thank you

    Hello, wmilligan2013-

    You can get the information to an output file by removing the Write-Host calls.  How to do:

    Get-VM | Get-AdvancedSetting -Name *ctkEnabled* | Sort-Object Entity,Name |    Select Entity,Name,Value,Type | Export-Csv -NoTypeInformation -UseCulture c:\temp\advSettingInfo.csv
    

    Which will be, for any virtual computer that has a * ctkEnabled * advanced configuration, parameter information advanced output for such virtual machine to the CSV file in the appropriate location.  It relies on the ability to Get-AdvancedSetting to accept the VM objects as the value to - entity from the pipeline (so the foreach statement is not necessary) and used the - param Name of this cmdlet, avoiding any disorder Select-String.  I used Export-Csv to the output method so that you can easily consume these data later if you need to act on these data or even manipulate it.

    How does do for you?

  • When I try to run a FindChangeByList.jsx in InDesignCS4, it won't let me choose a txt file

    Hi all

    I have a 100 page document that uses two queries to javascript FindChange to clean an imported XML file. I use the same files to clean for years and they worked very well. (I still only open in CS4 because I had some problems when you try to use this combo XML/find-replace in CS5 and 6.) The only difference is my computer has been upgraded, the apps reinstalled and am now running 10.9.5

    I can import the XML very well in my template, but when I double click FindChangeByList.jsx, select Document, click OK, nothing happens. I do not get a second dialog box asking me to choose my cleanup of txt file.

    I have only run this job once a year, so it's possible that I'm doing something wrong. I have copies of my txt files place in as many scripts as I can find it on my computer, but they are greyed out in support FIndChange file in InDesign.

    Please help, it's the only way to correct this XML!

    Hello

    2 things:

    1. assuming that your script is original - it is not by asking a TXT file grow is in the expected location. You can choose between 2 options:

    • to remove FindChangeList.txt of FindChangeSupport file ==> script will ask another file
    • to replace this file with your request ==> script won't ask but to run your query

    2. you can see greyed TXT files in the Script Panel since this panel shows the executable files (the script formats)

    Jarek

  • create a txt file

    Hello


    I want to send 30 recordings with slider & for loop & UTL_FILE in txt file with 9. I can write all records in a single file.

    30 records == > 1-9 record 1 file

    10-18 2nd files

    18-27 3rd files

    27-30 4th records


    Is this possible?

    Here is an example. In the code below, the code highlighted in red will be your actual query that retrieves the data. He ROW_NO, FILE_NO and MAX_RNO are the values that I generated to create a separate file for each 9 entries.

    SQL > declare
    l_file 2 utl_file.file_type;
    3. start
    4 for i in)
    5 Select mod row_no (rownum-1: 9)
    6, ceil(rownum/9) file_no
    7, max (mod (rownum-1: 9)) on (ceil(rownum/9) partition) max_rno
    8, object_name
    object 9
    10 where rownum<=>
    11 order of 2, 1
    12             )
    loop 13
    14 if i.row_no = 0 then
    15 l_file: = utl_file.fopen
    16                   (
    17 "KARDIR.
    18                    , 'file_' || i.file_no | '_' || TO_CHAR (sysdate, 'ddmmyyyyhh24miss'). ".dat".
    19                    , 'a'
    20                   );
    21 end if;
    22
    23 utl_file.put_line (l_file, i.object_name);
    24
    25 if i.row_no = i.max_rno then
    26 utl_file.fclose (l_file);
    27 end if;
    28 end of loop;
    29 end;
    30.

    PL/SQL procedure successfully completed.

    % ls - lrt file_ knani * _ * .dat | AWK '{print $9} ' | XARGS wc-l
    9 file_1_08072013091853.dat
    9 file_2_08072013091853.dat
    9 file_3_08072013091853.dat
    3 file_4_08072013091853.dat
    total of 30

    knani %

  • UTL_FILE to read a txt file? error

    Hello.
    I'm tring to read the data in outputfile. TXT file when the data are several lines
    the followig PL/SQL works well. BUT the problem when the outputfile. TXT file
    has a long lineage (maybe 500 words). I got this error.



    My problem of long line or another problem, but I can't make it. ?


    SQL > create an output directory as "c:\output";
    create an output directory as "c:\output".
    *

    SQL > grant read, write on the output of the ayham1 directory
    2
    SQL > declare
    2 f utl_file.file_type;
    3S CLOB;
    4 start
    5 f: = utl_file.fopen('OUTPUT','outputfile.txt','R');
    6 loop
    7 utl_file.get_line(f,s);
    8 dbms_output.put_line (s);
    9 end of the loop;
    10 exceptional
    When 11 NO_DATA_FOUND then
    12 utl_file.fclose (f);
    13 end;
    14
    15
    16.
    declare
    *
    ERROR on line 1:
    ORA-29284: error reading file
    ORA-06512: at "SYS." UTL_FILE", line 106
    ORA-06512: at "SYS." UTL_FILE", line 746
    ORA-06512: at line 7

    FYI outputfile. TXT does not create by me. It always creates on the other system.

    Published by: Isabelle Sep 17, 2012 01:49

    Hello

    Assuming that the file itself readable, you can try using the fourth parameter of FOPEN.

    declare
    f utl_file.file_type;
    s CLOB;
    begin
    f := utl_file.fopen('OUTPUT','outputfile.txt','R',32767);
    loop
    utl_file.get_line(f,s);
    dbms_output.put_line(s);
    end loop;
    utl_file.fclose(f);
    end;
    

    Kind regards
    Ousseni

Maybe you are looking for