Text_io equivalent for binary files

Hi!
I use forms 6:
Forms [32 Bits] Versão 6.0.8.11.3 (Produção)
Oracle Database 10g Release 10.2.0.3.0 - 64bit Production
I believe that what is happening with me its a bug that maybe was fixed in some new patch for forms 6. But I can´t update now.
I´m trying to load a file (binary) from client (win) to a blob column at server.
When I use dbms_lob in forms, the form simple crashes. No error, no nothing. It just closes.
For clob i managed to make a workarround, i create a package at server and i read the text file with text_io at client side and create the clob in the package at server side.
Now I need to do the same with binary files. There is a way to read and write binary files in forms (client side) without using dbms_lob?
Thanks.

You can't use DBMS_LOB on the client-side. DBMS_LOB is a database package and executes always on the database-server. The only chance i see with forms 6i is to somehow transfer te file to to a fileshare on the database-server (maybe ftp) and then use DBMS_LOB on that transferred file.

Similar Messages

  • Gitdiffbinstat -- git diff --shortstat for binary files

    You may know  git diff --shortstat  which summarizes the line-changes between branches/commits/tags etc.
    When I had a branch were I ran optipng on many images I was annoyed by the fact that  git diff --shortstat  would only summarize changes of text files, but not changes of binary files.
    That's why I made gitdiffbinstat.
    The script gets diffs between the current  HEAD  and some other branch/commit/tag  and summarizes the file changes (but also line changes) so you can easily see how many additional bytes certain branch would add to HEAD if it was merged, or how much bigger a release got from version "foo.2" to current HEAD etc
    The latest version 2.5-1 can also tell you about files which were moved (and not changed), unfortunately this increased the output-clutter. (Ideas how to make the output more structured are appreciated! )
    You can install the script via aur https://aur.archlinux.org/packages.php?ID=55519
    Feedback is welcome
    Regards,
    Matthias

    Hi john,
    You may try the 'cmp' command.
    The following tells whether the two files are idential or not:
    cmp file1 file2
    or
    cmp -b file1 file2
    The latter will show the first differing byte.
    If you want to see all the differing bytes, then (caution: the output can be very long):
    cmp -lb file1 file2
    see 'man cmp' or 'info diff' for more detail.
    PowerMac G4   Mac OS X (10.4.8)  

  • Blob for binary file, read/write problems

    Hi,
    I am relatively new to this type of development so apologies if this question is a bit basic.
    I am trying to write a binary document (.doc) to a blob and read it back again, constructing the original word file. I have the following code for reading and writing the file:
    private void save_addagreement_Click(object sender, EventArgs e)
    // Save the agreement to the database
    int test_setting = 0;
    // create an OracleConnection object to connect to the
    // database and open the connection
    string constr;
    if (test_setting == 0)
    constr = "User Id=royalty;Password=royalty;data source=xe";
    else
    constr = "User ID=lob_user;Password=lob_password;data source=xe";
    OracleConnection myOracleConnection = new OracleConnection(constr);
    myOracleConnection.Open();
    // create an OracleCommand object to hold a SQL statement
    OracleCommand myOracleCommand = myOracleConnection.CreateCommand();
    myOracleCommand.CommandText = "insert into blob_content(id, blob_column) values 2, empty_blob())";
    OracleDataReader myOracleDataReader = myOracleCommand.ExecuteReader();
    // step 2: read the row
    OracleTransaction myOracleTransaction = myOracleConnection.BeginTransaction();
    myOracleCommand.CommandText =
    "SELECT id, blob_column FROM blob_content WHERE id = 2";
    myOracleDataReader = myOracleCommand.ExecuteReader();
    myOracleDataReader.Read();
    Console.WriteLine("myOracleDataReadre[\"id\"] = " + myOracleDataReader["id"]);
    OracleBlob myOracleBlob = myOracleDataReader.GetOracleBlobForUpdate(1);
    Console.WriteLine("OracleBlob = " + myOracleBlob.Length);
    myOracleBlob.Erase();
    FileStream fs = new FileStream(agreement_filename.Text, FileMode.Open, FileAccess.Read);
    Console.WriteLine("Opened " + agreement_filename.Text + " for reading");
    int numBytesRead;
    byte[] byteArray = new byte[fs.Length];
    numBytesRead = fs.Read(byteArray, 0, (Int32)fs.Length);
    Console.WriteLine(numBytesRead + " read from file");
    myOracleBlob.Write(byteArray, 0, byteArray.Length);
    Console.WriteLine(byteArray.Length + " written to blob object");
    Console.WriteLine("Blob Length = " + myOracleBlob.Length);
    fs.Close();
    myOracleDataReader.Close();
    myOracleConnection.Close();
    This gives the following console output:
    myOracleDataReadre["id"] = 2
    OracleBlob = 0
    Opened D:\sample_files\oly_in.doc for reading
    56832 read from file
    56832 written to blob object
    Blob Length = 56832
    My write to file code is:
    private void save_agreement_to_disk_Click(object sender, EventArgs e)
    string filename;
    SaveFileDialog savedoc = new SaveFileDialog();
    if (savedoc.ShowDialog() == DialogResult.OK)
    filename = savedoc.FileName;
    // create an OracleConnection object to connect to the
    // database and open the connection
    OracleConnection myOracleConnection = new OracleConnection("User ID=royalty;Password=royalty");
    myOracleConnection.Open();
    // create an OracleCommand object to hold a SQL statement
    OracleCommand myOracleCommand = myOracleConnection.CreateCommand();
    myOracleCommand.CommandText =
    "SELECT id, blob_column " +
    "FROM blob_content " +
    "WHERE id = 2";
    OracleDataReader myOracleDataReader = myOracleCommand.ExecuteReader();
    myOracleDataReader.Read();
    Console.WriteLine("myOracleDataReader[id] = " + myOracleDataReader["id"]);
    //Step 2: Get the LOB locator
    OracleBlob myOracleBlob = myOracleDataReader.GetOracleBlobForUpdate(1);
    Console.WriteLine("Blob size = " + myOracleBlob.Length);
    //Step 3: get the BLOB data using the read() method
    byte[] byteArray = new byte[500];
    int numBytesRead;
    int totalBytes = 0;
    FileStream fs = new FileStream(filename, FileMode.OpenOrCreate, FileAccess.Write);
    while ((numBytesRead = myOracleBlob.Read(byteArray, 0, 500)) > 0)
    totalBytes += numBytesRead;
    fs.Write(byteArray, 0, byteArray.Length);
    Console.WriteLine("numBytes = " + numBytesRead + " totalBytes = " + totalBytes);
    Console.WriteLine((int)fs.Length + " bytes written to file");
    fs.Close();
    myOracleDataReader.Close();
    myOracleConnection.Close();
    This gives the following console output:
    myOracleDataReader[id] = 2
    Blob size = 0
    0 bytes written to file
    If I manually add the blob file using the following:
    DECLARE
    my_blob BLOB;
    BEGIN
    -- load the BLOB
    my_bfile := BFILENAME('SAMPLE_FILES_DIR', 'binaryContent.doc');
    SELECT blob_column
    INTO my_blob
    FROM blob_content
    WHERE id = 1 FOR UPDATE;
    DBMS_LOB.FILEOPEN(my_bfile, dbms_lob.file_readonly);
    DBMS_LOB.LOADFROMFILE(my_blob, my_bfile, DBMS_LOB.GETLENGTH(my_bfile), 1, 1);
    DBMS_LOB.FILECLOSEALL();
    COMMIT;
    END;
    COMMIT;
    The write to file works perfectly. This tells me that there must be something wrong with my code that is writing the blob to the database. I tried where possible to following the Oracle article using large objects in .NET but that (along with most things on the internet) focus on uploading text files.
    Thanks in advance.
    Chris.

    myOracleCommand.CommandText = "insert into blob_content(id, blob_column) values 2, empty_blob())";
    OracleDataReader myOracleDataReader = myOracleCommand.ExecuteReader();
    This looks wrong, you shouldn't be using ExecuteReader unless you expect to get a result back. Try using ExecuteNonQuery to do the insert.

  • Append Text Header for Binary file

    Hello Experts
    I am using LabView 7.0 with PCI 6040 DAQ. I have created two separate files, one file is Binary that collects binary raw data from 16 channels of the DAQ. The second file contains variable length Header, i.e the information about all 16 channels and physical conditions of the recording. I am trying to merge these two files to form a single file that contains a text header at the top and followed by the binary data. I am unable to figure out that how can I append binary data to a text file.
    I need help from users please.  
    Ciao!!!!
    Nabeel

    Hi Chris, Dev
    I am working on Implementation of EDF file format (European data Format) in Lab View.  This file format is widely becoming a standard to acquire and store the physical data of patients. In short, the specification of the file can b read at  ( http://www.hsr.nl/edf/specs/edf.html ). Most of the companies that develop equipments for EEG (electroencephalogram) are implementing this format to read and write data. In my experiments I am also using the same file format but just to acquire and store. For reading and analysing the data Matlab is widely used instead of Labview. Dev, I have just start introducing myself to the idea of Data loggers.  
    Dear Chris I have labview 7.0, is it possible to reload the file for 7.0? If not can you load it as a picture format?
    Regards
    Nabeel    

  • Antiword equivalent for OOo files?

    Does anyone know of an equivalent to the excellent antiword for OOo Writer files? I imagine it would be quite easy to extract the text info from the content.xml file within the odt file, and perhaps give it a rudimentary formatting (bold, italics) to display as a plain text file, the way antiword does with Word files, but I haven't found anything of the kind.

    That's what surprised me: the combination of an open format and a bloated, slow, application - it's just screaming for a quickview feature. I know there are some in the Windows world, but I don't have the necessary skills to port them. Anyone...? :-)

  • Text_io checking for the file exists?

    When using TEXT_IO package procedures within a form, How can I check whether the file with the same name exits in the same file path?. I mean what is the text_io procedure? Is there any thing specific?

    something like
    EXCEPTION
    when OTHERS then
       if SQLCODE = -302000 then -- file problems
          MSGBOX('Error: File could not be opened.');
          raise FORM_TRIGGER_FAILURE;
       else
          MSGBOX('Error: ' || SQLERRM);
          raise FORM_TRIGGER_FAILURE;
       end if;

  • Notepad Plain Text Equivalent for html files

    Hi
    I want to open an html file to see the source - in windows I would right (context) click and open with notepad.
    What is the equivalent in Mac - when I try textedit it opens it in RTF and so I can't see the underlying markup.
    Thanks

    Ok thanks OT - I'm downloading it. Weird - when I double-click on the DMG - nothing seems to happen?
    I normally use Dreamweaver, but sometimes its nice just to do something quick and dirty with a text tool.
    I'm also examining Rapidweaver and iWeb - iWeb seems to have various problems - especially the messy HTML/CSS.
    Thanks

  • Downloading a binary file

    Following is a short program that attempts to copy a binary file from a remote site to a local file. I tested the program with a text file and it basically works. The problem is that the read() function does not throw an EOFException. So I have the following questions:
    1. Is there some method that accomplishes what my copyFile(...) method does?
    2. Is there a marker that signals the end of a file? Is this marker the same for text files and for binary files?
    3. Is there a better way to copy a binary file?
    Your help will be much appreciated.
    Miguel
    import java.util.*;
    import java.io.*;
    import java.awt.*;
    import java.net.*;
    public class filecopy {
    public static void main(String[] args) { 
    copyFile("http://localhost/super/input.txt","output.txt");
    static void copyFile(String mapURL,String mapName) {
    BufferedReader bin = null;
    DataOutputStream bout = null;
    try {
    URL url = new URL(mapURL);
    URLConnection connection = url.openConnection();
    bin = new BufferedReader(new InputStreamReader(connection.getInputStream()));
    bout = new DataOutputStream(new BufferedOutputStream(new FileOutputStream(mapName)));
    while(true) {
    bout.write(bin.read());
    } catch (EOFException eofexc) {
    try {
    bin.close();
    bout.flush();
    bout.close();
    } catch (IOException ioexc) {
    System.out.println("copyFile: IOException: " + ioexc);
    } catch (IOException ioexc) {
    System.out.println("copyFile: IOException: " + ioexc);
    }

    I would highly recomend getting the file size of the remote file, and collecting data until you have a file as big as the one you want. I would do this for both binary and text files. Not all textfiles have an EOF marker, and there is no universal "EOF" marker for a binary file.
    ~Kullgen

  • Creating Binary Files in Java

    Does anyone know how to create a binary file in Java.
    in C i can do an fopen("filename" , "rb") i cannot find a equivalent java binary file stream.
    Thanks

    The following code is part of my FileIO applet. This method allows the user to download any file from my server and save it on his/her disk, the download is accomplished by doing a byte-read and byte-write (byte mover as I'd call it). This example illustrates how you can read and write binary files in Java:
       public void aok_DownLoad(String inputFile, String outputFile) {
          try {
             URL url=new URL(inputFile);
             InputStream in;
             in=url.openStream();
             BufferedInputStream reader=new BufferedInputStream(in,4096);
             FileOutputStream out=new FileOutputStream(outputFile);
             BufferedOutputStream writer=new BufferedOutputStream(out,4096);
             byte[] buf=new byte[4096];
             int byteRead;
             while ((byteRead=reader.read(buf,0,4096))>=0) {writer.write(buf,0,byteRead);}
             reader.close();
             writer.flush();
             writer.close();
          catch (Throwable exception) {
             exception.printStackTrace();
       }V.V.
    PS: in this posting the code is posted in a different manner so that the > sign is not converted to & gt ; by the forum's software

  • Bug in LV8 : 'Save for previous version' and 'Write to Binary File' VI

    Hello
    I am using LabVIEW 8's revamped 'Write to Binary File' VI with a 'TRUE' boolean constant wired to the optional 'prepend array or string size?' to write non-trivial structures to a binary file. I then read the file with the 'Read from Binary File' VI and everything is fine. I don't wire anything to the 'file (use dialog)' input (don't know if this can help).
    However, after saving my VI for LabVIEW 7.1, I cannot read the binary files created with the LV7 version of the VI anymore. After examining the LV7 converted version of the VI, there is a 'FALSE' boolean constant that is wired to the equivalent of the 'prepend array or string size' input, which breaks the binary format that is expected.
    The attached files are LV8 and 'saved for LV7' versions of a dummy VI that writes an array of 5 integers into a binary file. To test the bug, start LV8, open the LV8 version, run it and create a 'test-lv8.bin' file, then open the LV7 version, run it and create a 'test-lv7.bin' file. Check the content of the two files : the size of the array is indeed missing from the 'test-lv7.bin' file, which can be assimilated as a bug in my opinion.
    I think I found another one too : if in LV8 I wire the 'cancelled' boolean output of the 'Open/Create/Replace file' to the selector of a case structure, the 'converted to LV7' version VI will have an error, saying the Case Structure selector is not wired.
    Could someone please confirm these are indeed bugs ?
    Thanks in advance and have a nice day.
    Eric Batut
    Attachments:
    Test Binary File v7-v8 LV7.vi ‏15 KB
    Test Binary File v7-v8 LV8.vi ‏7 KB

    I'm using LV8.6 and need to read a .bin file created in MATLAB. This file obviously does not contain the 4 byte header that LabVIEW prepends .bin files with. So when I use Read from Binary File, I get no data (I'm trying to read an array of doubles). I've tried making my .bin file both in native and big-endian format and changing the representation (double, int64, float64) but none of this works. I noted that if I create the same array in a .bin file in LabVIEW and wire a FALSE to the "prepend array or string size?", my VI for reading .bin files can't read this file either.
    Any work-arounds here?
    (I'll try attaching my write & read VI's)
    Attachments:
    ReadWriteBinFile.zip ‏19 KB

  • The first binary file write operation for a new file takes progressively longer.

    I have an application in which I am acquiring analog data from multiple
    PXI-6031E DAQ boards and then writing that data to FireWire hard disks
    over an extended time period (14 days).  I am using a PXI-8145RT
    controller, a PXI-8252 FireWire interface board and compatible FireWire
    hard drive enclosures.  When I start acquiring data to an empty
    hard disk, creating files on the fly as well as the actual file I/O
    operations are both very quick.  As the number of files on the
    hard drive increases, it begins to take considerably longer to complete
    the first write to a new binary file.  After the first write,
    subsequent writes of the same data size to that same file are very
    fast.  It is only the first write operation to a new file that
    takes progressively longer.  To clarify, it currently takes 1 to 2
    milliseconds to complete the first binary write of a new file when the
    hard drive is almost empty.  After writing 32, 150 MByte files,
    the first binary write to file 33 takes about 5 seconds!  This
    behavior is repeatable and continues to get worse as the number of
    files increases.  I am using the FAT32 file system, required for
    the Real-Time controller, and 80GB laptop hard drives.   The
    system works flawlessly until asked to create a new file and write the
    first set of binary data to that file.  I am forced to buffer lots
    of data from the DAQ boards while the system hangs at this point. 
    The requirements for this data acquisition system do not allow for a
    single data file so I can not simply write to one large file.  
    Any help or suggestions as to why I am seeing this behavior would be
    greatly appreciated.

    I am experiencing the same problem. Our program periodically monitors data and eventually save it for post-processing. While it's searching for suitable data, it creates one file for every channel (32 in total) and starts streaming data to these files. If it finds data is not suitable, it deletes the files and creates new ones.
    On our lab, we tested the program on windows and then on RT and we did not find any problems.
    Unfortunately when it was time to install the PXI on field (an electromechanic shovel on a copper mine) and test it, we've come to find that saving was taking to long and the program screwed up. Specifically when creating files (I.E. "New File" function). It could take 5 or more seconds to create a single file.
    As you can see, field startup failed and we will have to modify our programs to workaround this problem and return next week to try again, with the additional time and cost involved. Not to talk about the bad image we are giving to our costumer.
    I really like labview, but I am particularly upset beacuse of this problem. LV RT is supposed to run as if it was LV win32, with the obvious and expected differences, but a developer can not expect things like this to happen. I remember a few months ago I had another problem: on RT Time/Date function gives a wrong value as your program runs, when using timed loops. Can you expect something like that when evaluating your development platform? Fortunately, we found the problem before giving the system to our costumer and there was a relatively easy workaround. Unfortunately, now we had to hit the wall to find the problem.
    On this particular problem I also found that it gets worse when there are more files on the directory. Create a new dir every N hours? I really think that's not a solution. I would not expect this answer from NI.
    I would really appreciate someone from NI to give us a technical explanation about why this problem happens and not just "trial and error" "solutions".
    By the way, we are using a PXI RT controller with the solid-state drive option.
    Thank you.
    Daniel R.
    Message Edited by Daniel_Chile on 06-29-2006 03:05 PM

  • When I try to download a software up date for another program in Binary File (eg CCleaner or a Microsoft file) in FireFox they all just come up in the download window as 'Cancelled'? When I go to the destination folder the download file icon is there wit

    When I try to download a software up date for another program in Binary File (eg. C Cleaner or a Microsoft file) in Firefox they all just come up in the download window as 'Canceled'? When I go to the destination folder the download file icon is there with 0 Kb's for size...Then when I click 'RETRY' the download it appears to download fully, but when I go into the destination folder the downloaded file is not there? I need to know if there is something in the Firefox options to resolve this problem or much more!!

    If all .exe files are blocked, antivirus software is most likely configured to block them. See if you can download these with your antivirus and/or security software disabled.

  • What's the best way for reading this binary file?

    I've written a program that acquires data from a DAQmx card and writes it on a binary file (attached file and picture). The data that I'm acquiring comes from 8 channels, at 2.5MS/s for, at least, 5 seconds. What's the best way of reading this binary file, knowing that:
    -I'll need it also on graphics (only after acquiring)
    -I also need to see these values and use them later in Matlab.
    I've tried the "Array to Spreadsheet String", but LabView goes out of memory (even if I don't use all of the 8 channels, but only 1).
    LabView 8.6
    Solved!
    Go to Solution.
    Attachments:
    AcquireWrite02.vi ‏15 KB
    myvi.jpg ‏55 KB

    But my real problem, at least now, is how can I divide the information to get not only one graphic but eight?
    I can read the file, but I get this (with only two channels):
    So what I tried was, using a for loop, saving 250 elements in different arrays and then writing it to the .txt file. But it doesn't come right... I used 250 because that's what I got from the graphic: at each 250 points it plots the other channel.
    Am I missing something here? How should I treat the information coming from the binary file, if not the way I'm doing?
    (attached are the .vi files I'm using to save in the .txt format)
    (EDITED. I just saw that I was dividing my graph's data in 4 just before plotting it... so It isn't 250 but 1000 elements for each channel... Still, the problem has not been solved)
    Message Edited by Danigno on 11-17-2008 08:47 AM
    Attachments:
    mygraph.jpg ‏280 KB
    Read Binary File and Save as txt - 2 channels - with SetFilePosition.vi ‏14 KB
    Read Binary File and Save as txt - with SetFilePosition_b_save2files_with_array.vi ‏14 KB

  • Binary file save - bug in lv8 for MAC ?

    Hi,
    Using LV8 on Mac OSX, I found a bug concerning binary file saving (attached file).
    Write an array of double in a binary file. Read it back.
    If you used little endian,ok. If you used Big-endian, result is wrong (but no error).
    Could a mac user replicate ?
    Boris Matrot
    Attachments:
    bin_file_save_lv8_mac.vi ‏14 KB

    Just as an additional data point, everything works fine under Windows.
    (As a workaround, have you tried flattening the data for writing? I don't have a MAC, so I cannot test.)
    Message Edited by altenbach on 01-19-2006 12:41 PM
    LabVIEW Champion . Do more with less code and in less time .

  • Changing oaj2se.exe binary file for form operations

    Hi,
    When you open the form service in R12.1.3, you encounter a page with the following message.
    In order to access this application, you must install the J2SE Plugin version 1.6.0_07. To install this plugin, click here to download the oaj2se.exe executable. Once the download is complete, double-click the oaj2se.exe file to install the plugin. You will be prompted to restart your browser when the installation is complete.
    If you need the newer version - let's say 1.6.0.10 - than 1.6.0.07. Then, going through click here will give still the old binary file.
    For this kind of cases, it would be good if the binary file just gives the latest one when clicked to download j2se plugin.
    So, here the questions come.
    Q1.
    Is it safe to replace the old binary file with the latest jre file from Oracle site?
    Q2.
    How can this be done? I mean, where is the location and is it ok just to replace the binary file?
    Does anyone have any idea on this?
    Thanks,

    Hi,
    Please see
    Deploying Sun JRE (Native Plug-in) for Windows Clients in Oracle E-Business Suite Release 12 [ID 393931.1]
    This doc looks big, But it is straight forward and very easy to do
    Thanks

Maybe you are looking for

  • Count the number of rows based on the values!!!

    Hi all, What I am using: I am working with a multidimensional database in Visual Studio 2010 using its Data source view and calculation member and dimension usage. What I want to do: I have a fact table that has five columns(leg(s),hand(s), Head and

  • Thunderbolt and FireWire 800 / 400

    Hey gang! I have a 2011 MacMini and a theoretical question.  I have a FW800 external drive connected to it for my TimeMachine backup.  I also have a FW400 audio capture box I use from time to time. I used to chain the drive and audio device, but that

  • Cross Docking_Error _ Urgent !!

    I am configuring a basic Cross Docking Scenario in Lean WM. I have not activated HU Mgmt. Warehouse is 301 Section 0001 I have set up a Cross-Docking Storage Type - XCD. Have Enabled 2-Step CD in IMG (Cross-Dock Warehouse Level Customization) Have ma

  • Essbase 11.1.2.1 mandatory components

    Hi all, I have a requirement where i need to install essbase in stand alone mode(wihout shared services). People will connect to cubes through essbase addin and they wd use eas console through URL Now for this setup, tell me if the following componen

  • Accounting Entries during MIRO for a WBS Purchase order - reg

    Hi, I have created a Purchase order with account assignment as Project and attached a WBS element in the Account assignment tab. There is no GR involved in this PO. When  i am trying to do the Invoice verification, it generates the accounting entries