How to properly write a CSV through Servlet?

hi all
i am writing an application which will
write selected database records to a csv text file
not getting how to start with a servlet?
any help in this regard is appreciated.
thanx

Your thoughts are good but there are some issues with eachof those
1. When I send back the Response to the old Browser with a JavaScript to popup a new Window, I have to re-render the original page again ... and that is a performance hole.
2. The problem with popping up a window and posting to the servlet using Javascript is that I cannot do a server side validation of the post.
Thanks

Similar Messages

  • Write out file through servlet

    Hello all,
    I wish to write out a file when a servlet is requested; however the file may be quite large and take a couple of seconds (approx 10) to write out. This results in a ten second delay for the user. I wish to offset this delay so the servlet continues executing returning the response and the file is written out in some form of background process.
    Could someone point me in the right direction?
    Thanks
    John

    Write up a Thread class to do the file writing for you. Your servlet will only start the thread with the required arguments and will generate the response without waiting for the thread to complete.

  • Please Help ! How would i Read xml file through servlet

    My requirement is that i have to make a stock exchange streamer.
    i am making an applet to show real time data to client. i had succeded in applet-servlet communication, but i m getting problem in
    parsing the xml files inside a servlet and throw it to applet again.

    I would suggest that you find out what the problem is, then. Once you find that out you will be far ahead of anybody else reading this post, because they have absolutely no idea what your problem is.

  • How can I read, millions of records and write as *.csv file

    I have to return some set of columns values(based on current date) from the database (could be million of record also) The dbms_output can accomodate only 20000 records. (I am retrieving thru a procedure using cursor).
    I should write these values to a file with extn .csv (comma separated file) I thought of using a utl_file. But I heard there is some restriction on the number of records even in utl_file.
    If so, what is the restriction. Is there any other way I can achive it? (BLOB or CLOB ??).
    Please help me in solving this problem.
    I have to write to .csv file, the values from the cursor I have concatinated with "," and now its returning the value to the screen (using dbms_output, temporarily) I have to redirect the output to .csv
    and the .csv should be in some physical directory and I have to upload(ftp) the file from the directory to the website.
    Please help me out.

    Jimmy,
    Make sure that utl_file is properly installed, make sure that the utl_file_dir parameter is set in the init.ora file and that the database has been re-started so that it will take effect, make sure that you have sufficient privileges granted directly, not through roles, including privileges to the file and directory that you are trying to write to, add the exception block below to your procedure to narrow down the source of the exception, then test again. If you still get an error, please post a cut and paste of the exact code that you run and any messages that you received.
    exception
        when utl_file.invalid_path then
            raise_application_error(-20001,
           'INVALID_PATH: File location or filename was invalid.');
        when utl_file.invalid_mode then
            raise_application_error(-20002,
          'INVALID_MODE: The open_mode parameter in FOPEN was
           invalid.');
        when utl_file.invalid_filehandle then
            raise_application_error(-20002,
            'INVALID_FILEHANDLE: The file handle was invalid.');
        when utl_file.invalid_operation then
            raise_application_error(-20003,
           'INVALID_OPERATION: The file could not be opened or
            operated on as requested.');
        when utl_file.read_error then
            raise_application_error(-20004,
           'READ_ERROR: An operating system error occurred during
            the read operation.');
        when utl_file.write_error then
            raise_application_error(-20005,
                'WRITE_ERROR: An operating system error occurred
                 during the write operation.');
        when utl_file.internal_error then
            raise_application_error(-20006,
                'INTERNAL_ERROR: An unspecified error in PL/SQL.');

  • How to export report IN CSV format through JAVA.

    how to export report in csv format.when try to export in csv format.its exporting into csv but report not containing column heading , report heading and it showing all the data in a single line.we have integrated the reports with java.

    Use a Java API which can create PDF files based on some collection of plain vanilla Java objects (List, String, Number, etc).
    Google can find them all. Just feed it with something like "Java PDF API" or so. A commonly used one is iText.
    That said, when talking about this in JSP context, ensure that you do NOT write raw Java code in JSP files using scriptlets. Raw Java code belongs in Java classes. In such case you need a Servlet. In JSP just use taglibs and EL to interact with backend Java code and data. Scriptlets are discouraged since over a decade.

  • How to write a CSV file in OSB

    Hi All,
    can any one tell me How to write a CSV file in OSB?
    Thanks.

    Hey, I couldnot find any xsl usage inside pipeline pair in the links given by you. Do you have any links that gives a sample example.I could not find any links with examples. I will send you a simple config jar demonstrating the use of XSLT resources/transformations.
    secondly should MFL doc replicate the name(s)of the nodes of the source xsd:I'm not sure If I understood your question.Can you please explain?
    Ex: My database schema looks like:
    <?xml version = '1.0' encoding = 'UTF-8'?>
    <xs:schema targetNamespace="http://xmlns.oracle.com/pcbpel/adapter/db/top/AssetsPoll" xmlns="http://xmlns.oracle.com/pcbpel/adapter/db/top/AssetsPoll" elementFormDefault="qualified" attributeFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="CountriesCollection" type="CountriesCollection"/>
    <xs:complexType name="CountriesCollection">
    <xs:sequence>
    <xs:element name="Countries" type="Countries" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    </xs:complexType>
    <xs:complexType name="Countries">
    <xs:sequence>
    <xs:element name="countryId">
    <xs:simpleType>
    <xs:restriction base="xs:string">
    <xs:maxLength value="2"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:element>
    <xs:element name="countryName" minOccurs="0" nillable="true">
    <xs:simpleType>
    <xs:restriction base="xs:string">
    <xs:maxLength value="40"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:element>
    <xs:element name="regionId" type="xs:decimal" minOccurs="0" nillable="true"/>
    </xs:sequence>
    </xs:complexType>
    </xs:schema>
    and the corresponding MFL that I have created gives this output
    <?xml version="1.0" encoding="windows-1252"?>
    <countriesCollection1>
    <Countries>
    <counrtyId>counrtyId</counrtyId>
    <country_name>country_name</country_name>
    <regionId>regionId</regionId>
    </Countries>
    <Countries>
    <counrtyId>counrtyId</counrtyId>
    <country_name>country_name</country_name>
    <regionId>regionId</regionId>
    </Countries>
    </countriesCollection1>
    Why I am asking this beacuse there is an error that i am getting:
    Jun 19, 2009 5:50:50 PM IST> <Error> <JCATransport> <BEA-381951> <JCA inbound r
    quest only invocation failed, exception: java.security.PrivilegedActionExceptio
    : com.bea.wli.sb.transports.TransportException: Binary to XML mfl transformatio
    failed for the MFL Resource Database-Jms-File/Database-File/MFLSample : null
    ava.security.PrivilegedActionException: com.bea.wli.sb.transports.TransportExce
    tion: Binary to XML mfl transformation failed for the MFL Resource Database-Jms
    File/Database-File/MFLSample : null..................................................
    Any help?
    Regards
    PS

  • How can I write bits through the COM1 serial port?

    I'm trying to write bits through the serial port COM1.
    Labview "Write VI" only writes everything in string. It seems. How can I write bit by bit through COM1?
    Thank you,
    Van

    Serial transmission (COM port) protocol requires sending a group of bits at one time. You cannot just send one bit. Standard COM port settings must be either 7 or 8 data bits, 1 or 2 stop bits, etc... You have to group your bits 7 or 8 at a time. You could probably send a 0 byte or a 1 byte. This would be like sending 0000 0000 for a low bit and 0000 0001 for a high bit. Your receiving end would have to know how to interpret what you are sending if you choose this method. Of course you have to convert your byte into a string before sending to COM port. Wire a U8 data type to a Build Array input. Then wire the array output to a Byte Array to String input. The output of this function will be the character representation of your byte suitable for sending acr
    oss a serial port.
    - tbob
    Inventor of the WORM Global

  • Need to know how to disconnect the camera Nikon Ds3 (USB cable) properly after uploading images through bridge-do not want to lose images on compact flash card.

    Need to know how to disconnect the camera Nikon Ds3 (USB cable) properly after uploading images through bridge…do not want to lose images on compact flash card.

    Give #navbar a width that is wide enough to hold all of the buttons within it.
    #navbar {
         width:####px;
    Replace #### with a pixel number large enough to hold the nav buttons.

  • How do I read/write many matrices through TCP server?

    I'm trying to modify the simple data client and the simple data server program in example in LabVIEW6i. How do I send a 2 dimension nummeric matrix? and also how do I send many numeric matrices at a time?

    The problem here is that at the receiving end, one cannot know how many
    bytes to read before unflattenning into the datatype.
    A method that works for *any* datatype (and any data transfer mechanism):
    Flatten the data to string.
    Flatten again the string to string; this adds a string lenght (U32) header
    to the string.
    Send the string.
    When receiving data, first read 4 bytes and convert to U32.
    Read this number of bytes.
    Typecast the string to the expected datatype.
    Jean-Pierre Drolet
    ----- Message d'origine -----
    De : "Mark Hanning-Lee"
    Groupes de discussion : comp.lang.labview
    Envoye : 6 septembre, 2001 22:21
    Objet : Re: How do I read/write many matrices through TCP server?
    > Lab Viewer wrote:
    > >
    > > Hi Irene,
    > > Re
    garding that example, probably you are wondering how can you pass a
    > > 2D array to Type Cast.VI (it accept only 1D array). The answer is
    > > Reshape Array.VI. Use this VI to transform your multidimensional array
    > > in a 1D array (after that use Type Cast.VI to transform it in a
    > > string). Also, you can use Array To Spreadsheet String.VI in order to
    > > obtain a string to send via TCP, but in this case the string is
    > > longer.
    >
    > Or better, wire the 2D array to the Flatten to String function, which
    > accepts any data type.
    >
    > When you receive the data, wire the string into the Unflatten from
    > String function. You'll need to wire a 2D array of the same
    > representation into the type input of that function.
    >
    > Mark
    LabVIEW, C'est LabVIEW

  • How can i write info in text filefrom servlet

    hello
    can u give me exmaple how can i write data into text file from servlet ?
    Edited by: bla123456789654 on May 17, 2010 2:05 PM

    javax.servlet.GenericServlet
    public void log(java.lang.String msg)
    Writes the specified message to a servlet log file, prepended by the servlet's name.
    See ServletContext.log(String).
    Parameters:
            msg - a String specifying the message to be written to the log file
    */

  • How to read/write .CSV file into CLOB column in a table of Oracle 10g

    I have a requirement which is nothing but a table has two column
    create table emp_data (empid number, report clob)
    Here REPORT column is CLOB data type which used to load the data from the .csv file.
    The requirement here is
    1) How to load data from .CSV file into CLOB column along with empid using DBMS_lob utility
    2) How to read report columns which should return all the columns present in the .CSV file (dynamically because every csv file may have different number of columns) along with the primariy key empid).
    eg: empid report_field1 report_field2
    1 x y
    Any help would be appreciated.

    If I understand you right, you want each row in your table to contain an emp_id and the complete text of a multi-record .csv file.
    It's not clear how you relate emp_id to the appropriate file to be read. Is the emp_id stored in the csv file?
    To read the file, you can use functions from [UTL_FILE|http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14258/u_file.htm#BABGGEDF] (as long as the file is in a directory accessible to the Oracle server):
    declare
        lt_report_clob CLOB;
        l_max_line_length integer := 1024;   -- set as high as the longest line in your file
        l_infile UTL_FILE.file_type;
        l_buffer varchar2(1024);
        l_emp_id report_table.emp_id%type := 123; -- not clear where emp_id comes from
        l_filename varchar2(200) := 'my_file_name.csv';   -- get this from somewhere
    begin
       -- open the file; we assume an Oracle directory has already been created
        l_infile := utl_file.fopen('CSV_DIRECTORY', l_filename, 'r', l_max_line_length);
        -- initialise the empty clob
        dbms_lob.createtemporary(lt_report_clob, TRUE, DBMS_LOB.session);
        loop
          begin
             utl_file.get_line(l_infile, l_buffer);
             dbms_lob.append(lt_report_clob, l_buffer);
          exception
             when no_data_found then
                 exit;
          end;
        end loop;
        insert into report_table (emp_id, report)
        values (l_emp_id, lt_report_clob);
        -- free the temporary lob
        dbms_lob.freetemporary(lt_report_clob);
       -- close the file
       UTL_FILE.fclose(l_infile);
    end;This simple line-by-line approach is easy to understand, and gives you an opportunity (if you want) to take each line in the file and transform it (for example, you could transform it into a nested table, or into XML). However it can be rather slow if there are many records in the csv file - the lob_append operation is not particularly efficient. I was able to improve the efficiency by caching the lines in a VARCHAR2 up to a maximum cache size, and only then appending to the LOB - see [three posts on my blog|http://preferisco.blogspot.com/search/label/lob].
    There is at least one other possibility:
    - you could use [DBMS_LOB.loadclobfromfile|http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14258/d_lob.htm#i998978]. I've not tried this before myself, but I think the procedure is described [here in the 9i docs|http://download.oracle.com/docs/cd/B10501_01/appdev.920/a96591/adl12bfl.htm#879711]. This is likely to be faster than UTL_FILE (because it is all happening in the underlying DBMS_LOB package, possibly in a native way).
    That's all for now. I haven't yet answered your question on how to report data back out of the CLOB. I would like to know how you associate employees with files; what happens if there is > 1 file per employee, etc.
    HTH
    Regards Nigel
    Edited by: nthomas on Mar 2, 2009 11:22 AM - don't forget to fclose the file...

  • How to read write excel through BPEL

    hi,
    how to read write excel file from BPEL process; is there any adapter available for excel specially.

    Hi,
    there is no adapter provided from Oracle.
    I think you have to write a .NET webservice, which accomplished this for you....

  • How to properly configure a home network using both Mac and PC computers

    Is there a book or set of guidelines that can tell me how to properly configure (exact specifications) my computers in a home network? Here is what I am trying to do and using:
    1) Three computers: iMac (late 06 ver), Macbook (newest version), Dell laptop. The two Macs are using Leopard and the PC is XP.
    2) Bellsouth modem which feeds into the Airport Extreme Base Station (AEBS)
    3) The AEBS has a USB hub which is connected to a external hard drive and two inkjet printers. A third laser printer/scanner/fax machine is connected to the AEBS via ethernet.
    4) All three computers use a wireless connection to the AEBS.
    I would like the following:
    1) Have a secured and password driven network - don't want outsiders connecting to the nework without permission.
    2) All computers to be able to access the USB printers and ext HD.
    3) The two Macs to read/write to each other with password access
    4) The iMac to have read/write capabalities over the PC via VSFusion or Bootcamp if possible.
    Currently, all three have Internet access via the AEBS and can print on the ethernet printer. Both Macs can see the Bonjour USB printers and print (however they to do not display on the AEBS configuration display utility and neither does the ext HD). The USB ext HD is shown on the iMac desktop and I have access to it, but does not display on the MacBook. I have not checked if the PC sees the external HD and it really does not matter if it ever does, although it would be nice.
    I am hoping that there is some standard configuration that I can "cut and paste" that is generally used to allow a home network to share resources while still being secure.
    Any advice and help is greatly appreciated.
    Thanks,
    Andrew

    Andrew,
    What you would like is fairly complicated so this will probably be a lengthy post, but hopefully I can assist you.
    As others here have pointed out, networks can vary widely, but the best networks have one element in common: planning. The first thing you need to think about is how you would like all of these systems to cooperate. For instance, do you want one of the machines to serve files to the others and be a central repository, or are you just interested in having them share documents on occasion so that you don't have to carry around, say, a USB key all the time? That said, here is a basic list of things I think you should look into.
    1. Network Basics
    First step is to get your local network set up. I'd go for WPA or WPA2 wireless security as they are relatively strong standards and you can use human-readable passwords. Additionally, unless you have an explicit need for someone outside your network to initialize a connection (Windows' RDP for instance), do not allow any passthroughs or port redirects on your AEBS.
    2. Network Topology
    Decide how you want computers and networked devices to identify themselves and their relative locations in the network: in short, do you want static ip's or dynamic ip's? Most of the time, static IP's can be assigned on a DHCP router, the trick is to assign the statics higher than your number of devices (or lower on some routers - for instance Linksys routers start DHCP at 192.168.1.100 but you could have statics from 192.168.1.2 to 192.168.1.99). For instance, it is impractical to set a laptop to static because I'm often in coffee shoppes and other environments that assign via DHCP; on the other hand, it's a good idea to have a printer be static so that you always know where to find it. So, I have 10.0.1.x network (default on AEBS), and the printer is 10.0.1.24, since the likelihood of my encountering an IP conflict with 4 computers on the subnet is virtually zero. If you configure a static device behind your AEBS, defaults are usually
    Default Gateway 10.0.1.1
    IP Address 10.0.1.(your choice)
    Subnet Mask 255.255.255.0
    3. File-sharing.
    3a) Mac OS X has a built-in SMB/CIFS (Windows file & printer sharing protocol) client, and a basic SMB [samba] server can be enabled in the sharing preference panel (enable file and/or printer sharing). Windows XP can use these shares, but must authenticate. For that reason, you may not be able to see your shares in the Network Places browser, however you should be able to get to them by mapping the network drive (tools menu) or executing RUN with \\computer.name\share.name. You will then be able to type in your credentials. I would also suggest relatively simple names for the Macs in question (set in Sharing preference pane). Typing Andrew's-iMac-G4 in every time you want to find it will get irritating after a while to say the least, especially if you need to troubleshoot.
    3b) The reverse works similarly. You can Connect to Server... from Finder to get to the Windows shares. To do this you must have Windows File and Printer sharing enabled (most easily through the Network Setup Wizard in Control Panels - Use Classic View). It's really easy if your account names and passwords are identical on the Mac and PC, because when loading user profiles, the Mac will generally automatically try to authenticate against the Windows machine with your Mac logon credentials. (Windows seems to do this against the Mac as well) You can write an Applescript or there are some PLIST modifications you can make to mount Windows shares at login.
    4. Printing
    I'm not exactly sure what you had in mind here since I'm not sure what's connected to which computer or directly to the network. If it is possible, I personally find putting my printers directly on the network to be the easiest thing. Especially if printing large PDF or graphics files, the spooling on the host system can really slow the computer down, and slow down printing. For example, I used to have a laserjet on a Windows box and had to print a very large file. Going through a Win print server, it only printed a page every 30 seconds, but when I got a jetdirect adapter, the whole thing was done in under two minutes. If you have HP Printers, I would recommend the jetdirect print servers (I have used with both a laserjet and a supposedly unsupported color inkjet).

  • How to properly reference libraries when building executable

    Hi guys,
    So I've been working on porting a VI developed on 2009 Labview on Windows over to 8.2 on Linux. Initially I was having some problems because the program seem to have broken after the port but we realized it was some compatiblity with the TCP communcation functions. We solved it by writing some new TCP open/send/recieve/close functions in C and called the functions through a sub VI calling a library function node.
    Now, the program runs completely fine on labview on the development machine where I have all the files. However, things seem to break down when I build the program as an executable to be run on a machine without labview. 
    From what I can tell, it seems as though the library function node is unable to find the proper .so file to reference. However, I've tried numerous methods of passing the correct path of the .so file to the library function no but nothing seems to work. I've tried implementing path on the sub-vi level then up to the vi level but the results are all the same, the program works in labview fine but the TCP communcations break when i compile.
    So can anyone tell me or point me to a good tutorial on how to properly implement and build with library function nodes and also properly referecing the required .so files?
    Thanks guys,
    Jason.

    Hi Jason,
    If you open example finder in LabVIEW (Help>>Find Examples…)  and search DLL, you may find the “External Code (DLL) Execution.vi” to be helpful.
    There is some thorough documentation on how to use external code in LabVIEW at the following link:
    http://www.ni.com/pdf/manuals/370109a.pdf
    I would double check to make sure you are compiling the C code to the correct format.  To run it on a Linux machine the .so file must be in the ELF file format, not the PE format (which is what DLL files use).
    I am also wondering why you need to re-write the TCP functions, there should be a Linux LabVIEW equivalent function for each of the LabVIEW Windows functions.
    Regards,
    Shane C
    Regards,
    Shane C
    Applications Engineer
    National Instruments

  • Working with markups through servlet

    Hello,
    There is several problems with using Autovue through servlet.
    Fabula:
    Servlet receives http request, connect to the vue server (vue servlet via ServerControl), load .dwg file into
    vuebean by vuebean.setFile(new DocID(fileName)) and load markup by simple calling markupbean.readMarkup(FileInputStream instance) method.
    I get a markup file name by parsing 'markups.map'. Servlet modifies markup by http request parameters (set new FillColor, for example) and saves markup file -
    markupbean.writeMarkup(FileOutputStream) - very simple process.
    Problems:
    1. After markup changing i need to open dwg with markup (in applet), but i don't know how i can to do this. jVue.openMarkup() doesn't work - i don't understand what parameters are needed.
    2. When markup open via jVue applet GUI, changed TextBox elements are not visible, but presents in markup items list.
    If TextBox is selected it becomes visible! If I change the text or position of TextBox, it will become visible (without selection). This situation applies only to TextBoxes.
    Any suggestions how I can load markups into GUI and fix visibility of TextBoxes after saving via FileOutputStream.

    Hello,
    May I point out some issues where you are implementing code that is not supported nor documented (and probably will not) and consequently help on those topics is not available
    1. I get a markup file name by parsing 'markups.map' -> not documented, not supported, could change on any release.
    2. markupbean.writeMarkup(FileOutputStream) -> where? local datastore is not documented, will need synching, writing to it directly not supported, could change on any release.
    Stating it as a simple action is probably not the best way to describe a over-complicated solution piggybacking on a closed (undocumented) implementation
    Hence my recommendation for an open and properly documented platform
    Perhaps you should have started by describing what you are trying to do
    If what you want to implement is to save markups with a predefined name, then your solution is an overkill (and goes in the wrong direction)
    If you would be kind enough to
    1. follow this forum's rules ie https://forums.oracle.com/forums/ann.jspa?annID=1527
    2. properly state what you are trying to implement in another thread, if possible as it will make search/review easier to the rest of the community
    3. Have a tittle that is descriptive enough
    4. is this solution required to work on a cluster (ie more than one AV server)?

Maybe you are looking for