BFile Support in 9.0.3

We are looking at turning on support for external BFile support in 9.0.3. But before we turn it on, we want to see if we will be able to turn it off and get our content back into the database?
Has anyone had any experience with this?

The ContentAgent is responsible for moving content (Media)to BFile.
When BFile content is accessed, it is retrieved back in to the database.
Thus it would most likely be a matter of disabling the ContentAgent, and programatically accessing all external Bfile content to bring it back in to the database.
Matt.

Similar Messages

  • Audio blob vs. audio bfile storage

    Hi,
    I stored real audio content in the database. This all goes fine. I can then retrieve the songs from the database, using realserver and the oracle/real plugin or the intermedia clipboard.
    Next, I tried to insert audio content in the database with a bfile (so the content is not stored in the database, just a pointer). However, I cannot succeed in this. I do the insert with a pl/sql procedure. The (snippet)code is as follows:
    insert into tracks t
    values(id,null,
    ordsys.ordaudio(null,ordsys.ordsource(empty_blob),'FILE','FILEDIR',song.rm,sysdate,0),null,'audio/x-pn-realaudio',EMPTY_CLOB(),null,0,0,0,null,0));
    It looks as the insert goes fine (no errors), but when I try to retrieve the song realserver/plugin cannot find it. I also tried to retrieve the song using the clipboard. The songs, I stored as a blob inside the database, I can retrieve, but I cannot retrieve the songs that are stored as a bfile. (Therefore, I don't think it's a realserver problem).
    I also tried to do the insert with the method setProperties(ctx). This won't work, because the mimetype for real is not supported. [I don't think I really need this method, cause I don't use it when I store the audio as a blob in the database, which works fine].
    I followed all the available sample code, but nothing works when working with a bfile. Again, working with blob's is no problem.
    Hopefully, someone can help me out!
    Thanks!
    Peter
    null

    Peter,
    interMedia has full support for BLOBs that are stored locally, and BFILE support is
    supported at a secondary level. This is simply due to the nature of the built in
    support that Oracle itself provides. As a work around, you could use the method,
    getContentInLOB(), copying the data into a temporary LOB. The example with
    the documentation shows how to do just this.
    http://otn.oracle.com/doc/oracle8i_816/inter.816/a67299/mm_audre.htm#1051196
    As a word of warning, if the videos are very large, or this is a high throughput
    video server application, this work around will probably not be acceptable for
    performance reasons.

  • BFILE or BLOB Support in OBIEE?

    Hi Experts,
    I want to display list of files, which are located in a server directory, as hyperlinks in OBIEE report or dashboard.
    I created a sample table with BFILE and BLOB data types and imported in Administration and created sample report to access BFILE and/or BLOB presentation column. But I'm getting below error message whenever I select above objects.
    View Display Error
    Odbc driver returned an error (SQLExecDirectW).
    Error Details
    Error Codes: OPR4ONWY:U9IM8TAC:OI2DL65P
    State: HY000. Code: 10058. NQODBC SQL_STATE: HY000 nQSError: 10058 A general error has occurred. nQSError: 46036 Internal Assertion: Condition m_CountFields == static_cast<int32>(m_ColumnNameVector.size()), file .\Src\SQCSCacheStorageListStream.cpp, line 222. (HY000)
    SQL Issued: SELECT "IBOT_DATA#1".IBOT_FILE saw_0 FROM IBOT_DATA ORDER BY saw_0
    Please advice if there is any alternate solution to display results by using OBIEE? Like calling JavaScripts in OBIEE to display hyperlinks etc..
    Thanks in advance
    Murali.

    Unfortunately there is no way to simply reference the word or excel file through OBIEE unless they are stored on a sharedpoint server link or some thing.
    The only way you can reference them is through an URL and as you mentioned your files are not stored in an URL but in a path location.
    Ok we have couple of options now
    1. I dont know if you can add that document in shared point(some thing similar) and reference the URL. In an organisation they will have some way of storing the documents on a web server and all the users will have access to it. That is an easy way of doing it. If thats not the case lets go to option 2
    2. Convert the word document that have all the list of files that you need to show into a jpeg image and then you can simply call the image using fmap. you can simply save the file under the obiee images
    C:\OracleBI\oc4j_bi\j2ee\home\applications\analytics\analytics\res
    3. Convert the file into html as i mentioned earlier and simply reference the whole report through static view of the report and that will take care of it as well. Also you can display the report path as a hyperlink. so that will satisfy your requirement as well
    Hope it helps
    Thanks
    Prash

  • Apple Application Support not found when trying to open iTunes

    iTunes not opening. Error 2 message keeps popping up saying that Apple Application Support is not found. (Dont' know where it went!!!) It's asking me to uninstall and reinstall iTunes. B4 I do, will I lose my library and have to start over?

    downloaded winrar and extracted that bfile, haha answered my own question,

  • Is there any convenient way to work with BFILE column in EJB 3.0 projects

    Hi, all
    Can anybody answer this simple question?
    I know there is a special type - BFILEDomain in ADF BC, but what about EJB
    any links and advices would be greatly appreciated.
    Thanks in advance. Alex.

    This (similar) issue was filed as bug #7315754 in our bug tracking system.
    We do not support LOB, BLOB, BFILE datatypes as of now.
    All types which we don't recognize currently default to a field of type String. This mainly serves as a placeholder field that the user can refactor
    to any other desired type. Typically, when the JPA provider doesn't support the type, the field load/save operations can be managed, using hand-written
    JDBC code, inside @PrePersist or @PostPersist methods.

  • Problem with BFILE closure

    I have a problem with a pending session (Oracle 8.1.7, Windows 2000). The active process is waiting for a BFILE to close (BFILE closure). It has been waiting > 7000 secs. The file to read is a simple csv-file with 10 lines.
    I'm using the widely spread "ftp"-package (I have removed all procedures with a "binary" part as 8i dont have the "put_raw" feature. I've used binary part of the package in 10g without any problems).
    The procedure where the problem occurs:
    FUNCTION get_local_ascii_data (p_dir IN VARCHAR2,
    p_file IN VARCHAR2)
    RETURN CLOB IS
    l_bfile BFILE;
    l_data CLOB;
    l_amount BINARY_INTEGER := 32767;
    l_pos INTEGER := 1;
    wText varchar2(32767);
    BEGIN
    DBMS_LOB.createtemporary (lob_loc => l_data,
    cache => TRUE,
    dur => DBMS_LOB.call);
    l_bfile := BFILENAME(p_dir, p_file);
    DBMS_LOB.fileopen(l_bfile, DBMS_LOB.file_readonly);
    DBMS_LOB.loadfromfile(l_data, l_bfile, DBMS_LOB.getlength(l_bfile));
    DBMS_LOB.fileclose(l_bfile);
    RETURN l_data;
    END;
    The file to be read contains the following:
    1;john;heinrich;vejnavn 1;2650;hvidovre
    2;john;heinrich;vejnavn 2;2650;hvidovre
    3:john;heinrich;vejnavn 3;2650;hvidovre
    4;john;heinrich;vejnavn 4;2650;hvidovre
    5;john;heinrich;vejnavn 5;2650;hvidovre
    6;john;heinrich;vejnavn 6;2650;hvidovre
    7;john;heinrich;vejnavn 7;2650;hvidovre
    8;john;heinrich;vejnavn 8;2650;hvidovre
    9;john;heinrich;vejnavn 9;2650;hvidovre
    10;john;heinrich;vejnavn 10;2650;hvidovre
    Any clue?
    It locks the package in question, and killing the session dont free the package. Only a db shotdown will free the package. Is there a way to "close" the bfile?

    What information is there in your post indicating the BFILE did not close and that this is the cause of the problem?
    8.1.7 is so old I haven't seen it in almost a decade so I can't test this out but it seems to me you should be focusing new development efforts on a version of the product that has been supported during the current millennium.

  • BFILE in Oracle XE.

    I developed an application based on Oracle Database Express Edition which stores data about Word documents about scripts that generates the client to use this kind of a field BFILE.
    Each file generated by the customer, has an average size of 50KB, generated an average of 20 files per day (Monday through Friday).
    My question is: If the use BFILES consumes much storage space in the Oracle database XE?, I am concerned about this situation by limiting 4GB for storage of user data.
    Roberto

    Hi,
    I don't know much about BLOB/CLOB, or BFILE, but I know that if you use BIFLE, you are not actually storing the unsctructured file itself, i.e, word doc , in the database, but only a pointer(comparing the file itself, in your case, 50kb, the pointer itself should be very tiny) indicating where it is at the local OS file system.
    So, I think you can store a lot of file, much more than 4 GB, it should be Ok, because that files are within the filesystem of the OS, not the db itself.
    As from the documentation- Concept:
    BFILE Datatype
    The BFILE datatype stores unstructured binary data in operating-system files outside the database. A BFILE column or attribute stores a file locator that points to an external file containing the data. BFILEs can store up to 8 terabytes of data.
    BFILEs are read only; you cannot modify them. They support only random (not sequential) reads, and they do not participate in transactions. The underlying operating system must maintain the file integrity, security, and durability for BFILEs. The database administrator must ensure that the file exists and that Oracle processes have operating-system read permissions on the file.
    http://download.oracle.com/docs/cd/B19306_01/server.102/b14220/datatype.htm#sthref3873
    Peter

  • Can't load a BFILE into database!

    Im "sys",
    create table lobtest( A NUMBER,B BLOB);
    INSERT INTO LOBTEST VALUES ( 2, '01010101');
    COMMIT;
    select a,dbms_lob.getLength(b) from dag.LOBTEST;
    A DBMS_LOB.GETLENGTH(B)
    2 4
    create directory LOB AS 'c:\bfile';
    Then, I created a java file, and loaded it into db as java stored-proc, and published it as a function.
    Everything was ok.
    When I executed the published function, it was accomplished successful.
    But, when I issued this statement,
    select a,dbms_lob.getLength(b) from dag.LOBTEST;
    It was still :
    A DBMS_LOB.GETLENGTH(B)
    2 4
    The source code is as following:
    import java.io.*;
    import java.sql.*;
    import oracle.jdbc.*;
    import oracle.sql.*;
    class testj {
         public static String sj() throws Exception {
              DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
              Connection conn=DriverManager.getConnection("jdbc:default:connection:");
              Statement stmt = conn.createStatement ();
              BFILE src_lob = null;
              BLOB dest_lob = null;
              InputStream in = null;
              OutputStream out = null;
              byte buf[] = new byte[1000];
              ResultSet rset = null;
              rset = stmt.executeQuery ("SELECT BFILENAME('LOB', 'COFFEE.bmp') FROM DUAL");
              if (rset.next())
                   src_lob = ((OracleResultSet)rset).getBFILE (1);
                   src_lob.openFile();
                   in = src_lob.getBinaryStream();
              rset = stmt.executeQuery ("SELECT b FROM lobtest WHERE a=2 FOR UPDATE");
              if (rset.next())
                   dest_lob = ((OracleResultSet)rset).getBLOB (1);
                   out = dest_lob.getBinaryOutputStream(0);
              int length = 0;
              int pos = 0;
              while ((in != null) && (out != null) && ((length = in.read(buf)) != -1))
                   pos += length;
                   out.write(buf, pos, length);
                   dest_lob.putBytes(1, buf);
              in.close();
              out.flush();
              out.close();
              src_lob.closeFile();
              conn.commit();
              conn.close();
              return ":(";
    Im going crazy!!! Anyone can help?

    I read ITPUB, and understand detailed situation a little.
    The problem is not that any error occur on compiling,
    but that compiling slows down with some conditional clause(*1).
    It takes half a day or more(*2) to compile.
    I think that must hung up.
    Really? Is it really happen?
    If that is true, You had better contact Oracle Support.
    (*1)
    The additional condition is like as follows.
    and (t.MB_named_column1,t.MB_named_column2) in
    (('MB_data1',0),('MB_data2',pvc2Bmid),('MB_data3',pvc2Zbmid),('MB_data4',pvc2Grzid),('MB_data5',pvc2Lfid),('MB_data6',pnumYhid))
    Here, MB means MultiBytes.
    (*2)
    'half a day or more' is my literal translation.
    It may mean only 'very long time'.
    Message was edited by:
    ushitaki
    Added the more detailed explanation.

  • Displaying BFile Columns on Forms6i

    Hi, I ;ve created a little application to display scaned images. I have a PL/SQL procedure to create rows in a database identifying BFILE type tiff images and I've created a simple form to display the image. This form includes the 'image palette' option chosen from the column property palette (this allows you to rotate the image and the like).
    This works really well in client/server mode. But I've just tried the form on 9iAS and while the images display as expected the image manipulation palette is missing.
    I'd appreciate any thoughts. (apologies in advance if this is the wrong group).
    Thanks Brian Keniry

    The image palette is only supported in client-server. Some operations are too network intensive to enable over the web, like the mouse move trigger.
    Sorry, but this is expected behavior.
    Regards,
    Candace Stover
    Forms Product Managment

  • BLOB OF BFILE

    Hi,
    I have to insert in a database a lot of images, documents, audio and video files, (2G/mounth) My database should keep this entire files and any time to have the possibility to recover the information in case of disaster. If I will use bfile filed and I will keep this files on a file server I will not be sure if in case of failure of file server I can restore all document , which are vital for company.
    What is most efficient mode to keep this file in blob field or in a bfile.
    Thk,
    Catalin

    One of the most important reasons that one would choose to store multimedia in the database is to be able to manage this content safely and efficiently. Having multimedia in the database allows you to use database itegrity techniques to keep your data safe and consistent. If you choose to use BFILE storage, you will NOT have these advantages. You will have to back up the database, and the filesystem(s) where the multimedia is stored, and devise a way to keep this data consistent. You will not be able to rely upon the database backup entirely, you would need filesystem backups to be coordinated with database backups.
    I would suggest that you store the multimedia in BLOBs within the database.
    From the LOB application developer's guide:
    * External (BFILE) LOBs do not participate in transactions. Any support for integrity and durability must be provided by the underlying file system as governed by the operating system.

  • What is BFILE in oracle.

    I have one code and in that someone used BFILE,
    What exactly this BFILE means, and whats the use of this.
    Please explain in detail
    Regards
    Agrawal's

    The BFILE datatype enables access to binary file LOBs that are stored in file systems outside the Oracle database. A BFILE column or attribute stores a BFILE locator, which serves as a pointer to a binary file on the server's file system. The locator maintains the directory alias and the filename.
    You can change the filename and path of a BFILE without affecting the base table by using the BFILENAME function.Binary file LOBs do not participate in transactions and are not recoverable. Rather, the underlying operating system provides file integrity and durability. The maximum file size supported is 4 gigabytes.
    The database administrator must ensure that the file exists and that Oracle processes have operating system read permissions on the file.
    The BFILE datatype enables read-only support of large binary files. You cannot modify or replicate such a file. Oracle provides APIs to access file data. The primary interfaces that you use to access file data are the DBMS_LOB package and the OCI.
    For more information please refer oracle documentation.
    Cheers

  • Webutil to move files for database bfile

    Our application (ported from Forms 6i) uses bfiles in the database as one means of storing binary files in the database. One limitation was the fact we had to create a wide-open file share for the directory that files were copied to.
    Now that we are using WebUtil, it seems like the desktop no longer needs the open share, but the midtier server now does.
    Can this be done in such a way that the files can get to the database server directly without resorting to file sharing on systems?

    Actually, our application support blobs and bfiles, so we already do both. It's just that the bfiles wind up being local to the midtier, so we have to create a share directory on the db host, so when Forms (using webutil now) drops off the files, the database then has it local.
    I was kind of hoping someone has done this and would share some code.

  • BFILE or BLOB?

    In general what's faster? File size is around 50k each.
    10g, Linux x86.

    Well the speed here depends very much on the underlying IO system.
    BFILE doesn't get stored in the database. It's stored outside the DB on the file system of the operating system while BLOB is fully stored in the database but also here it depends what are you using (ASM, OS file system, ...)
    In general I would suggest that you go for BLOB because of following key benefits:
    * Stored inside the database
    * Read/Writeable
    * Can be cached
    * Participate fully in transactions
    * 11g has enhanced LOB (for upgrades somewhere in the future)
    This is was the concept guide says about:
    BFILE Datatype
    The BFILE datatype stores unstructured binary data in operating-system files outside the database. A BFILE column or attribute stores a file locator that points to an external file containing the data. BFILEs can store up to 8 terabytes of data.
    BFILEs are read only; you cannot modify them. They support only random (not sequential) reads, and they do not participate in transactions. The underlying operating system must maintain the file integrity, security, and durability for BFILEs. The database administrator must ensure that the file exists and that Oracle processes have operating-system read permissions on the file.
    BLOB Datatype
    The BLOB datatype stores unstructured binary data in the database. BLOBs can store up to 8 terabytes of binary data.
    BLOBs participate fully in transactions. Changes made to a BLOB value by the DBMS_LOB package, PL/SQL, or the OCI can be committed or rolled back. However, BLOB locators cannot span transactions or sessions.

  • Bfile functionality with oracle lite for Synchronization

    Hi there,
    In my project requirement, We need to design a standalone version of the applciation which will be used by the marketing people around the globe.
    Plan is to use oracle Lite database with this application, as it synchronises with the main server on demand. During our testing we found that Oracle lite do the data transfer /synchronization perfectly but have problem with bfile type data. Precisely, the only problem we are facing is how to synchronize the file which are there on the server as bfile type. As per my info Bfile is not supported by the oracle Lite.
    Any clue will be appreciated.
    Regards,
    Sunil Dua

    Junius,
    Greetings,
    Thanks for the reply speedy reply... I took more time in replying as we busy in evaluating the Oracle Lite version 10g.
    Well Yeah! you are right and thru packaging, we can have the files downloaded but for me its a work around. Let em explain my situation again.
    I have user specific set of files for each of its client which again gets updated quarterly. If I keep this data in the package I'll have to keep 'n' number of files in the package as about 300 odd user will be on field maintaining number of user. Another problem would be to publish and package every quarter. Thired problem would be of downloading this application as size will be too high and relevant data for each of the user would be hardly 10% of the size of the application for each user.
    I hope I have clarified the situation. Pl. let me know if you need any more info.
    Regards,
    Sunil Dua

  • Want to store and retrived  images  in the BFILE format using inter media

    I want to store and retrived images in the BFILE format using inter media.I found a article in the oracle site that Oracle interMedia image supports BFILEs.But this article is not demonstrating the use of BFILEs.Please help me to findout the solution.
    Thanks in advance.
    null

    The advantage to using BFILE storage for your is that it's an easy way for Oracle
    Multimedia to access your images without importing them into the database.
    The disadvantages are that the images are read-only. If you want to scale an image or
    convert to a different format, you will need to create a destination image to hold the result. This
    will necessarily be a BLOB based image.
    Adding images is difficult to do from within an application program. Generally you would add new images to a file system that is accessible to the Oracle Database, then insert new rows in your table with appropriate BFILE pointers to the new images.
    BFILE images require separate backup from the database. Also there is not way to transactionally coordinate your BFILE data with your relational data.
    If you are using Oracle 11g, you can use the SecureFile option for BLOB storage. This is much faster then the previous BLOB storage (now called BasicFile) and much faster then BFILE also.
    That said, below is a code snippet that shows how to insert a BFILE based image, set it's properties, show it's properties and select the BFILE locator to access the content. You would need to use the DBMS_LOB package (in PL/SQL) to read the content. From other APIs, (e.g., Java) you would need to use the proper interfaces to access the BFILE.
    Note that you need change the USER, PASSWORD fields in the code. Also you should change the directory location and image name for your use.
    -- create a directory object indicating where the images are stored;
    create or replace directory imgdir as '/tmp';
    -- and grant permission to read to a user;
    grant read on directory imgdir to <USER>;
    conn <USER>/<PASSWORD>;
    -- create the images table
    create table images(id integer primary key, image ordsys.ordimage);
    set serveroutput on
    declare
    obj ordsys.ordimage;
    begin
    -- use the init('FILE', <SRC_LOCATION>, <SRC_FILE>) function
    -- to create an ORDIMAGE object with a BFILE source
    insert into images(id, image)
    values(1, ordimage.init('FILE', 'IMGDIR', 'wizard.jpg'))
    returning image into obj;
    -- lets see if the image source is local or not
    if(obj.isLocal()) then
    dbms_output.put_line('image source is local');
    else
    dbms_output.put_line('image source is NOT local');
    end if;
    -- set the properties of the image object
    obj.setProperties();
    -- and update the row
    update images set image=obj where id=1;
    commit;
    end;
    column height format 99999
    column width format 99999
    column mimetype format a30
    column length format 999999
    -- let's see what we have
    select t.image.getHeight() as "height"
    , t.image.getWidth() as "width"
    , t.image.getMimetype() as "mimetype"
    , t.image.getContentLength() as "length"
    from images t
    -- fetch a BFILE handle to the content
    declare
    bf BFILE;
    length number;
    begin
    select t.image.getBfile() into bf
    from images t
    where t.id=1;
    -- use the DBMS_LOB interface to find out size of image
    length := dbms_lob.getLength(bf);
    dbms_output.put_line('length of BFILE is ' || length);
    end;
    ---What we get when we run the code
    Connected.
    Directory created.
    Connected.
    Table created.
    image source is NOT local
    PL/SQL procedure successfully completed.
    height     width mimetype               length
    399     485 image/jpeg          92552
    length of BFILE is 92552
    PL/SQL procedure successfully completed.
    SQL>

Maybe you are looking for

  • Regarding SY-OPSYS

    hi guys, I am using HP-UX OS. what will be the output for SY-OPSYS in this case. and if i am using Solaris What will be the output for SY-OPSYS. Could some body confirm me. Thanks. Baasha,

  • Mpeg2 blueray gives me better quality that H.264 blueray

    When I use the set prests for H.264 - blueray that CS5 has in the media encoder the quality looks a little poor? But when I use the Mpeg2 -blueray option this gives me a quality identical to the orginal HDV footage. Everywhere I've read people say th

  • Can someone explain the logic of retro in payroll??? and difference between /551 , /552 , /553..

    Hi gurus, I am learning Sap at this point of time. Requesting you all to clear the concept of  Retro and PCR which is responsible?? I have gone through the previous links but still insist you to explain the same with an example. Thnks in Advance!!! H

  • Cairo problems in Eclipse Workshop 9.2.1

    There seems to be 2 problems with the Cairo graphics library for 9.2.1. I'm running on Fedora Core 5, and the install does not set up the LD_LIBRARY_PATH variable to correctly pick up the libcairo.so.1 library. I updated by env. to load libcairo.so.1

  • T400s doesn't remember to use monitor when resuming from sleep

    I can connect a T400s to a monitor using a DisplayPort-to-DVI cable and set it to "Projector only" (via Fn+F7). But when I put the laptop to sleep and resume, the monitor (which goes to sleep after a few seconds when not used) remains asleep and the