DLL for LOB operations

Hi
I am trying to use the createTemporary()
method provided by the Oracle OCI Driver
to insert a BLOB into the database.
I have the oracle client installed in my
PC. While executing the above said method
an "UnsatisfiedLinkError" is reported.
It says "lob_createTemporary" not found.
I am of the opinion that this could be
a .dll that gets installed with the Oracle
client. Do we need to do any custom
installation for installing DLLs related
to LOBs while we install the oracle client?
Regards
Ramkumar

Hi
I am trying to use the createTemporary()
method provided by the Oracle OCI Driver
to insert a BLOB into the database.
I have the oracle client installed in my
PC. While executing the above said method
an "UnsatisfiedLinkError" is reported.
It says "lob_createTemporary" not found.
I am of the opinion that this could be
a .dll that gets installed with the Oracle
client. Do we need to do any custom
installation for installing DLLs related
to LOBs while we install the oracle client?
Regards
Ramkumar

Similar Messages

  • Setting up use of a DLL for Multithreading operations.

    Hi all,
    I have been working the past few weeks converting a slow part of our labview code into C++ and hoping that from there I can use CUDA to further optimize and speed up the process.
    I just finished writing everything in C++, and the program works well, but it is already much slower than the old code. This is due to the fact that the old code could multithreading and use up the entire processing power of my processor, while my current code does not seem to want to do this.
    I know that there are many settings from labview to visual studios to even my code itself to allow for mutlithreaded operations, and allow them to happen safely.
    I was wondering if anyone could help me identify these settings so I can move forward with my optimization.
    I will tell you what I have looked at and done so far:
    First I made sure that my program takes all the Array Handles and Numeric values, and assigns them to local variables in my program. I believe this makes my program reentrant safe.
    Then in VC++ 2008, I added some settings to my project settings: Under C++ Optimization, I have Maximize Speed(/O2), enabled intrinsic functions, and favored fast code.
    In code generation, I have my runtime library as Multithreaded debug dll.
    Then in labview, the DLL is nested 2 SubVIs deep. The main VI has no special settings that I am aware of, but the first SubVI is set to time critical priority, and reentrant execution, while the final subVI which holds my DLL is set to subroutine, and reentrant execution.
    FInally my DLL has run in any thread selected, and debugging turned off.
    Am I doing this correctly? Are there parts missing in my program that I need to write to allow for this sort of functionality?
    Thanks!

    Deturbanator wrote:
    Thank you for your reply.
    I assign parameters to local variables for exactly the problem you described, shared resources. For example, this program in particular works on a video file, and completes a process on a frame by frame image. I assume that if I do not copy the values to a local variable, the array handle for the image will change between different instances of the program, and this might be bad if we are at first analyzing frame 3, and then suddenly, it changes to frame 5.
    Is this not something I should be concerned with, does labview take care of this already? It seems there is a lot of magic happening behind the walls and options of labview
    And I agree, Labview is quite good, and I did not expect a big boost from converting my code to C++. However I see no reason it should be any slower than the existing labview code, if most of the functionality is just rewritten in C++. The real reason for the code conversion, was to eventually write certain parts in CUDA, which I felt would be easiest once the code is in C++.
    I guess my real question is what are the "hoops and rings" i need to jump through to match the labview efficiency?
    thank again!
    It's still not clear to me what you expect by the use of local varaibles in terms of parallel execution. Or maybe you are not talking about function local variables but module local variables outside the function???? If that is the case, then you have probably totally misunderstood the fundamentals of multithreading safe code.
    When LabVIEW calls a function through the Call Library Node, it will make sure that all the parameters passed to that function stay valid for the duration of the call. Once the function returns to the LabVIEW diagram LabVIEW considers it safe to do with the buffers as it likes, including moving them in memory, resizing them, reusing them for other stuff, or simply deallocating them. So saving such a parameter to a function local variable makes no difference, since the function local variable will exist just as long as the parameter is guranteed to be valid. And saving it to a module local variable is either creating a pretty sure race condition or even crash, if you just save the reference, since the buffer the reference is pointing to will not be guranteed to stay valid after the function returns. And if you save it to a local variable by copying its contents it will be safe, but a performance problem, as you create a copy of the data.
    So what are you really doing here? Some example code could certainly help to understand what you are doing, as I have a hunch that what you call a local variable is in fact more a global variable although you may declare it as static and make it in that way local to your code module (but still global to all functions in that module).
    Generally if you want your C code to process data asynchronously however (meaning working on it after the function returns control to LabVIEW, then you can't avoid to copy the buffers.
    As to the hoops and rings to jump through there is no simple explanation. In fact there have been entire books written about multithreading, and more importantly correct multiprocessor programming.
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

  • ORA-22288: file or LOB operation FILEOPEN failed (The data is invalid)

    Dear All,
    I am trying to insert a image file (gif) to one of my field.
    1. Here is my table structure and trying to insert gif image file to PIC file.
    SQL> desc cis2.david_pic
    Name Null? Type
    ID VARCHAR2(5)
    PIC BLOB
    2. I using sql command to create directory and the path is pointing where the DB
    server was installed.
    SQL> create or replace directory MY_FILES as '\\hkqaa-db1\TEXT_IMPORT';
    3. Written a script to insert empty blob first and than trying to use the dbms_lob.fileopen
    to upload the gif file.
    SQL> declare
    2 l_blob blob;
    3 l_bfile bfile;
    4 begin
    5 insert into cis2.david_pic values ( '1', empty_blob())
    6 returning pic into l_blob;
    7 l_bfile := bfilename('MY_FILES', 'bess_signature.gif');
    8 dbms_lob.fileopen(l_bfile);
    9 dbms_lob.loadfromfile(l_blob, l_bfile, dbms_lob.getlength(l_bfile));
    10 dbms_lob.fileclose(l_bfile);
    11 end;
    12 /
    4. After I ran my script I got this error message.
    declare
    ERROR at line 1:
    ORA-22288: file or LOB operation FILEOPEN failed
    The data is invalid.
    ORA-06512: at "SYS.DBMS_LOB", line 475
    ORA-06512: at line 8
    Can any tell me what wrong? is this the way to insert image?
    Thanks

    Know this is an old post: (for sharing sake.)
    Please try avoiding
    1. the 'hyphen' in between the path (hkqaadb1 instead of hkqaa-db1)
    2. Give direct path like 'C:\TEXT_IMPORT' instead of network path.
    create or replace directory MY_FILES as '\\hkqaa-db1\TEXT_IMPORT'; -- Not working.
    create or replace directory MY_FILES as 'C:\hkqaadb1\TEXT_IMPORT'; -- Working.
    and this worked fine.
    Edited by: Arunan.KL on Mar 23, 2011 5:04 PM

  • Getting ORA-22288: file or LOB operation FILEOPEN failed in Windows XP

    Hi All,
    I am getting the error message
    ORA-22288: file or LOB operation FILEOPEN failed
    when I attempt to call a stored procedure containing the following code.
    bfile_in := BFILENAME( 'SP_IMPORT_NIF20_DIR', v_filename );
    /* Open the input file */
    DBMS_LOB.FILEOPEN(bfile_in);
    It works fine on UNIX but fails when running on my Windows XP Pro Oracle 9i install. I suspect that it has something do to with the file permissions. I can get this same error on UNIX if the file permissions are not set correctly. I get it every time on Windows XP Pro even though I think that the file permissions are
    set correctly. Perhaps the Windows XP Pro permissions are not as I think! or perhaps the Oracle instance needs to be granted access to the XP directories etc. I am not sure how this would be done.
    Any suggestions much appreciated.

    You have EXPLORER set to "Use Simple File Sharing". Uncheck that option for the folders and you will get the security tab.
    I am not sure why you can't run Oracle as a specific user. I do this all the time. In fact, I create an Oracle group and add a user called Oracle and then configure that user/group for all the permissions it needs (and none it doesn't), environment set up, etc. and then run the service as that user. Can you get a specific error message?
    As a side note, I am clueless why Oracle doesn't do this for you. They do on Unix installs.

  • Inserting image to table...ORA-22288: file or LOB operation FILEOPEN failed

    Good day!
    I'm just new with using databases, and i'm enjoying it.
    So I read that you can insert images to a table, and so i decided to try it... and here's where I'm at..
    *I made a directory
    CREATE directory image_dir as 'D:\Images';
    --Directory Created.
    *I created a table
    CREATE TABLE animages
    (aname VARCHAR2(40),
    breedno NUMBER(10),
    image_file BLOB,
    image_name VARCHAR2(40),
    CONSTRAINT aname_fk FOREIGN KEY (aname) REFERENCES clist(aname));
    --Table Created.
    *Then I made a procedure for inserting the images
    CREATE OR REPLACE PROCEDURE insert_image_file (p_aname VARCHAR2, p_breedno NUMBER, p_image_name IN VARCHAR2)
    IS
    src_file BFILE;
    dst_file BLOB;
    lgh_file BINARY_INTEGER;
    BEGIN
    src_file := BFILENAME('IMAGE_DIR', p_image_name);
    INSERT INTO animages
         (aname, breedno, image_file, image_name)
    VALUES (p_aname, p_breedno, EMPTY_BLOB(), p_image_name)
    RETURNING image_file
    INTO dst_file;
    SELECT image_file
    INTO dst_file
    FROM animages
    WHERE aname = p_aname AND image_name = p_image_name
    FOR UPDATE;
    DBMS_LOB.fileopen(src_file, DBMS_LOB.file_readonly);
    lgh_file := DBMS_LOB.getlength(src_file);
    DBMS_LOB.loadfromfile(dst_file, src_file, lgh_file);
    UPDATE animages
    SET image_file = dst_file
    WHERE aname = p_aname AND image_name = p_image_name;
    DBMS_LOB.fileclose(src_file);
    END;
    --Procedure Created.
    *So i was able to do those but when i was trying to execute the procedure i get this error..
    execute insert_image_file('African Elephant', 60, 'African_Elephant');
    ERROR at line 1:
    ORA-22288: file or LOB operation FILEOPEN failed
    The device is not ready.
    ORA-06512: at "SYS.DBMS_LOB", line 523
    ORA-06512: at "SCOTT.INSERT_IMAGE_FILE", line 18
    ORA-06512: at line 1
    I've been looking for a solution for a day now, hope someone could help me, thanks.
    BTW, I got the code for the PROCEDURE from a user named Aparna16, just did some minor editing so it would fit my tables, thanks.
    And sorry if the post is too long.

    Hi;
    ORA-22288:Error:     ORA-22288
    Text:     file or LOB operation %s failed %s
    Cause:     The operation attempted on the file or LOB failed.
    Action:     See the next error message in the error stack for more detailed
         information. Also, verify that the file or LOB exists and that the
         necessary privileges are set for the specified operation. If the error
         still persists, report the error to the DBA.
    Regard
    Helios

  • ORA-22288: file or LOB operation FILEOPEN failed Permission denied

    I have installed Oracle XE (Universal) on Fedora Core 8
    I am trying to update Apex to 3.1.1. I have downloaded and extracted the zip file using unizp apex_3.1.1.zip
    I ran @apexins SYSAUX SYSAUX TEMP /i/
    and @apxchpwd
    Both were successful
    Now when I am executing this
    @apxldimg.sql /home/myuser
    I am getting
    Connected to:
    Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production
    PL/SQL procedure successfully completed.
    old 1: create directory APEX_IMAGES as '&1/apex/images'
    new 1: create directory APEX_IMAGES as '/home/myuser/apex/images'
    Directory created.
    declare
    ERROR at line 1:
    ORA-22288: file or LOB operation FILEOPEN failed
    Permission denied
    ORA-06512: at "SYS.DBMS_LOB", line 523
    ORA-06512: at "SYS.XMLTYPE", line 287
    ORA-06512: at line 15
    PL/SQL procedure successfully completed.
    Commit complete.
    timing for: Load Images
    Elapsed: 00:00:00.06
    Directory dropped.
    Kindly help.

    I had the same problem on centos (RHEL 5.2). It think maybe it is something to do with permissions with the folder to which you extract the software. I unziped apex download in the home for the super user /root then changed directory to /root/apex to do the install. In sqlplus connected as sys as sysdba the command @apxldimg.sql /root failed with ora-22288. My workaround was to copy the images to a different directory and then it worked. rm -rf /tmp/apex/images/ then mkdir -p /tmp/apex/images/ then cp -r /root/apex/images/* /tmp/apex/images/ then back in sqlplus @apxldimg.sql /tmp. This time it worked!

  • Aleatory One factory fails for the operation "encode"-JPEG

    I've a very strange problem with JAI.write using JPEG, but is happening aleatory. Some times it works, some times I get the exception and some other times don't. What I've seen is that when I got first this error, then all the rest of the images throws it. I mean, I'm working OK and then I got the exception, from there, all the images, no matter that they were not trowing exceptions before, now they do, so I don't know what is happening. I'll post some code snippets and the full stack trace of the exception. Hope you can help me:
    First, I have a class that is a JSP-Tag:
    RenderedOp outputImage = JAI.create("fileload", imgFile.getAbsolutePath());
    int widthSize = outputImage.getWidth();
    int heightSize = outputImage.getHeight();
    try{
        outputImage.dispose();                         
    }catch(Exception e){}
    outputImage = null;That's the first thing, now, the second, this is a Servlet that writes the image to the browser (GetImageServlet its name, which appears in the stack trace):
    FileSeekableStream fss = new FileSeekableStream(file);
    RenderedOp outputImage = JAI.create("stream", fss);
    int widthSize = outputImage.getWidth();
    int heightSize = outputImage.getHeight();
    if ((outputImage.getWidth() > 0) && (outputImage.getHeight() > 0)) {
                        if ((isThumbnail) && ((outputImage.getWidth() > 60) || (outputImage.getHeight() > 60))) {
                             outputImage = ImageManagerJAI.thumbnail(outputImage, 60);
                        } else if (outputRotate != 0) {
                             outputImage = ImageManagerJAI.rotate(outputImage, outputRotate);
                        OutputStream os = resp.getOutputStream();
    resp.setContentType("image/jpeg");
         ImageManagerJAI.writeResult(os, outputImage, "JPEG");
                        outputImage.dispose();
                        os.flush();
                        os.close();
    outputImage = null;
    imgFile = null;The code of ImageManagerJAI.writeResult, which is a method I use above:
    public static void writeResult(OutputStream os, RenderedOp image, String type) throws IOException {
              if ("GIF".equals(type)) {
                   GifEncoder encoder = new GifEncoder(image.getAsBufferedImage(), os);
                   encoder.encode();
              } else {
                   JAI.create("encode", image, os, type, null);
         }And the full exception trace is:
    Error: One factory fails for the operation "encode"
    Occurs in: javax.media.jai.ThreadSafeOperationRegistry
    java.lang.reflect.InvocationTargetException
         at sun.reflect.GeneratedMethodAccessor45.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at javax.media.jai.FactoryCache.invoke(FactoryCache.java:122)
         at javax.media.jai.OperationRegistry.invokeFactory(OperationRegistry.java:1674)
         at javax.media.jai.ThreadSafeOperationRegistry.invokeFactory(ThreadSafeOperationRegistry.java:473)
         at javax.media.jai.registry.RIFRegistry.create(RIFRegistry.java:332)
         at javax.media.jai.RenderedOp.createInstance(RenderedOp.java:819)
         at javax.media.jai.RenderedOp.createRendering(RenderedOp.java:867)
         at javax.media.jai.RenderedOp.getRendering(RenderedOp.java:888)
         at javax.media.jai.JAI.createNS(JAI.java:1099)
         at javax.media.jai.JAI.create(JAI.java:973)
         at javax.media.jai.JAI.create(JAI.java:1668)
         at com.syc.image.ImageManagerJAI.writeResult(ImageManagerJAI.java:27)
         at GetImageServlet.doGet(GetImageServlet.java:214)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
         at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
         at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
         at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
         at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
         at java.lang.Thread.run(Thread.java:619)
    Caused by: com.sun.media.jai.codecimpl.util.ImagingException
         at com.sun.media.jai.codecimpl.ImagingListenerProxy.errorOccurred(ImagingListenerProxy.java:63)
         at com.sun.media.jai.codecimpl.JPEGImageEncoder.encode(JPEGImageEncoder.java:280)
         at com.sun.media.jai.opimage.EncodeRIF.create(EncodeRIF.java:70)
         ... 31 more
    Caused by: com.sun.media.jai.codecimpl.util.ImagingException: IOException occurs when encode the image.
         ... 33 more
    Caused by: java.io.IOException: reading encoded JPEG Stream
         at sun.awt.image.codec.JPEGImageEncoderImpl.writeJPEGStream(Native Method)
         at sun.awt.image.codec.JPEGImageEncoderImpl.encode(JPEGImageEncoderImpl.java:472)
         at sun.awt.image.codec.JPEGImageEncoderImpl.encode(JPEGImageEncoderImpl.java:228)
         at com.sun.media.jai.codecimpl.JPEGImageEncoder.encode(JPEGImageEncoder.java:277)
         ... 32 more
    javax.media.jai.util.ImagingException: All factories fail for the operation "encode"
         at javax.media.jai.OperationRegistry.invokeFactory(OperationRegistry.java:1687)
         at javax.media.jai.ThreadSafeOperationRegistry.invokeFactory(ThreadSafeOperationRegistry.java:473)
         at javax.media.jai.registry.RIFRegistry.create(RIFRegistry.java:332)
         at javax.media.jai.RenderedOp.createInstance(RenderedOp.java:819)
         at javax.media.jai.RenderedOp.createRendering(RenderedOp.java:867)
         at javax.media.jai.RenderedOp.getRendering(RenderedOp.java:888)
         at javax.media.jai.JAI.createNS(JAI.java:1099)
         at javax.media.jai.JAI.create(JAI.java:973)
         at javax.media.jai.JAI.create(JAI.java:1668)
         at com.syc.image.ImageManagerJAI.writeResult(ImageManagerJAI.java:27)
         at GetImageServlet.doGet(GetImageServlet.java:214)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
         at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
         at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
         at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
         at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
         at java.lang.Thread.run(Thread.java:619)
    Caused by: java.lang.reflect.InvocationTargetException
         at sun.reflect.GeneratedMethodAccessor45.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at javax.media.jai.FactoryCache.invoke(FactoryCache.java:122)
         at javax.media.jai.OperationRegistry.invokeFactory(OperationRegistry.java:1674)
         ... 26 more
    Caused by: com.sun.media.jai.codecimpl.util.ImagingException
         at com.sun.media.jai.codecimpl.ImagingListenerProxy.errorOccurred(ImagingListenerProxy.java:63)
         at com.sun.media.jai.codecimpl.JPEGImageEncoder.encode(JPEGImageEncoder.java:280)
         at com.sun.media.jai.opimage.EncodeRIF.create(EncodeRIF.java:70)
         ... 31 more
    Caused by: com.sun.media.jai.codecimpl.util.ImagingException: IOException occurs when encode the image.
         ... 33 more
    Caused by: java.io.IOException: reading encoded JPEG Stream
         at sun.awt.image.codec.JPEGImageEncoderImpl.writeJPEGStream(Native Method)
         at sun.awt.image.codec.JPEGImageEncoderImpl.encode(JPEGImageEncoderImpl.java:472)
         at sun.awt.image.codec.JPEGImageEncoderImpl.encode(JPEGImageEncoderImpl.java:228)
         at com.sun.media.jai.codecimpl.JPEGImageEncoder.encode(JPEGImageEncoder.java:277)
         ... 32 more
    Caused by:
    java.lang.reflect.InvocationTargetException
         at sun.reflect.GeneratedMethodAccessor45.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at javax.media.jai.FactoryCache.invoke(FactoryCache.java:122)
         at javax.media.jai.OperationRegistry.invokeFactory(OperationRegistry.java:1674)
         at javax.media.jai.ThreadSafeOperationRegistry.invokeFactory(ThreadSafeOperationRegistry.java:473)
         at javax.media.jai.registry.RIFRegistry.create(RIFRegistry.java:332)
         at javax.media.jai.RenderedOp.createInstance(RenderedOp.java:819)
         at javax.media.jai.RenderedOp.createRendering(RenderedOp.java:867)
         at javax.media.jai.RenderedOp.getRendering(RenderedOp.java:888)
         at javax.media.jai.JAI.createNS(JAI.java:1099)
         at javax.media.jai.JAI.create(JAI.java:973)
         at javax.media.jai.JAI.create(JAI.java:1668)
         at com.syc.image.ImageManagerJAI.writeResult(ImageManagerJAI.java:27)
         at GetImageServlet.doGet(GetImageServlet.java:214)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
         at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
         at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
         at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
         at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
         at java.lang.Thread.run(Thread.java:619)
    Caused by: com.sun.media.jai.codecimpl.util.ImagingException
         at com.sun.media.jai.codecimpl.ImagingListenerProxy.errorOccurred(ImagingListenerProxy.java:63)
         at com.sun.media.jai.codecimpl.JPEGImageEncoder.encode(JPEGImageEncoder.java:280)
         at com.sun.media.jai.opimage.EncodeRIF.create(EncodeRIF.java:70)
         ... 31 more
    Caused by: com.sun.media.jai.codecimpl.util.ImagingException: IOException occurs when encode the image.
         ... 33 more
    Caused by: java.io.IOException: reading encoded JPEG Stream
         at sun.awt.image.codec.JPEGImageEncoderImpl.writeJPEGStream(Native Method)
         at sun.awt.image.codec.JPEGImageEncoderImpl.encode(JPEGImageEncoderImpl.java:472)
         at sun.awt.image.codec.JPEGImageEncoderImpl.encode(JPEGImageEncoderImpl.java:228)
         at com.sun.media.jai.codecimpl.JPEGImageEncoder.encode(JPEGImageEncoder.java:277)
         ... 32 moreI'm using JDK 1.6, Tomcat 5.5, Windows XP, and JAI 1.1.2_01 (the jars are in the WEB-INF/lib of the project AND in the jdk 6/jre/lib/ext, while the dlls are only on jdk 6/jre/bin)
    Please help, I don't know what to do, I've weeks with this problem. Dukes available pleaseeee!

    Hi
    you can check if you get in the error logs an message like 'Could not load mediaLib accelerator wrapper classes. Continuing in pure Java mode.' may be the problem of JAI native accelerator

  • SDO_GEOR.importFrom : Unable to render RenderedOp for this operation

    Contributors,
    I have trouble in loading a persistent LOB into a georaster :
    - I use sdo_geor.getRasterSubset to get whole cells (512x512) of band 0 of a 8BIT_U georaster, into a BLOB
    - dbms_lob.getLength of the blob gives me correct length : 262144 (=512x512)
    - i stored this blob into a persistent LOB (LOB in table)
    - just to check, i did dbms_lob.getLength for the BLOB column. gives me 262144
    - but when i used SDO_GEOR.importFrom to load the BLOB from the blob table into the georaster table, error occured :
    ERROR at line 1:
    ORA-13464: error loading GeoRaster data: - Unable to render RenderedOp for this operation.
    ORA-06512: at "MDSYS.MD", line 1723
    ORA-06512: at "MDSYS.MDERR", line 17
    ORA-06512: at "MDSYS.SDO_GEOR", line 2966
    ORA-06512: at line 7
    =========
    --this is the code for loading (aboove is the error raised; line 7 is the .importFrom below)
    1   DECLARE
      2   geor SDO_GEORASTER;
      3   pBLOB BLOB;
      4  BEGIN
      5   select myBLOBcol into pBLOB from myBLOBtab where blob_id=1 for update;
      6   select image into geor from experiment where image_id=1 for update;
      7   SDO_GEOR.importFrom(geor,'','TIFF',pBLOB,null,null);
      8   update experiment set image = geor where image_id=1;
      9   commit;
    10  end;
    11  /
    --this is my blob table
    spatial@ORCL>desc myBLOBtab
    Name                                                                    Null?    Type
    BLOB_ID                                                                          NUMBER
    DESCRIPTION                                                                      VARCHAR2(80)
    MYBLOBCOL                                                                        BLOB
    --this is SQL to check the LOB length
    spatial@ORCL>select blob_id,
      2  dbms_lob.getlength(myBLOBcol)
      3  from myblobtab;
       BLOB_ID DBMS_LOB.GETLENGTH(MYBLOBCOL)
             1                        262144
    --this is my georaster table
    spatial@ORCL>desc experiment
    Name                                                                    Null?    Type
    IMAGE_ID                                                                         NUMBER
    DESCRIPTION                                                                      VARCHAR2(100)
    IMAGE                                                                            SDO_GEORASTERThanks for reading and sharing solutions.

    Jeffrey
    All right now am in 11g; after some error in installing 11g, failure in data moving when upgrading from 10gR2 to 11gR1 so i lost all my data (did not backup coz little space left).
    Then i decided to get rid all the installed 11g and 10gR2, cleaning up the registry keys, for clean installation of 11g.
    The 11g is now installed. I didnot have data backup but for georaster backup i can rely on the raster file and table creation sql i stored in text files. When i use the GeoRasterViewer tool (now version 11) for importing these raster files, the "OK" button in 'Import to DB' dialog does not give me anything. It does not works. Nothing loaded. The raster file is 8 bit TIFF, 512 rows x 512 cols x 15 layers. (i tried different images but no luck).
    Here is my table definition :
    CREATE TABLE multilayer
    (image_id NUMBER,
    raster_description VARCHAR2(70),
    image SDO_GEORASTER);
    CREATE TABLE multilayer_RDT OF SDO_RASTER
    (PRIMARY KEY (rasterID, pyramidLevel, bandBlockNumber,
    rowBlockNumber, columnBlockNumber));
    INSERT INTO multilayer
    VALUES(1, 'Raster trial KALISYA! 512x512x15', MDSYS.SDO_GEOR.init('multilayer_rdt', 1));
    (the createDMLtrigger is not necessary anymore in 11g, right?)Another problem is : i created a georaster table for raster of 4 rows x 4 cols x 4 layers, with my specific value for every cells (64 cells all) specified by .changeCellValue. Here is : CREATE TABLE four (image_ID NUMBER, description VARCHAR2(50), image SDO_GEORASTER);     
    CREATE TABLE four_RDT OF SDO_RASTER (PRIMARY KEY (rasterID, pyramidLevel, bandBlockNumber,rowBlockNumber, columnBlockNumber));
    INSERT INTO four VALUES (
    1,'A 4rows x 4columns x 4bands image',
    sdo_geor.createBlank(
    21001,                              --raster type 3D
    SDO_NUMBER_ARRAY(0,0,0),     --origin
    SDO_NUMBER_ARRAY(4,4,4),      --dimension sizes 4x4x4 cells cube
    0,                                    --cell values
    'four_rdt', 1)                    --RDT and rasterID
    DECLARE
    gr sdo_georaster;
    BEGIN
    SELECT image INTO gr FROM four WHERE image_id=1 FOR UPDATE;
    SDO_GEOR.changeCellValue(gr,SDO_NUMBER_ARRAY(0,0,0,0),'0',1);
    SDO_GEOR.changeCellValue(gr,SDO_NUMBER_ARRAY(0,1,0,1),'0',2);
    SDO_GEOR.changeCellValue(gr,SDO_NUMBER_ARRAY(0,2,0,2),'0',3);
    SDO_GEOR.changeCellValue(gr,SDO_NUMBER_ARRAY(0,3,0,3),'0',4);
    SDO_GEOR.changeCellValue(gr,SDO_NUMBER_ARRAY(3,2,3,2),'3',63);
    SDO_GEOR.changeCellValue(gr,SDO_NUMBER_ARRAY(3,3,3,3),'3',64);
    UPDATE four SET image=gr WHERE image_id=1;
    COMMIT;
    END;
    /The console says everything ok but GeoRaster viewer does not show the data AND metadata (metadata tab is blank white). In console i can get the .getCellValue as well (see the value of cell at 4th row 4th col 4th layer is 64).
    select sdo_geor.getCellValue(image,0,3,3,3) from four where image_id=1;
    SDO_GEOR.GETCELLVALUE(IMAGE,0,3,3,3)
                                      64? These were simple and smooth in 10gR2 but i found them weird in 11g. any suggestion ? i tried validate but no luck as well.
    Cheers,
    =damon

  • UTL_SMPT ORA-22288: file or LOB operation GETLENGTH failed No such file or

    Hello Everyone!
    I am trying to write a script to send emails as an attachment(exists in the unix box) using utl_smtp
    i have my reports in the directory : /opt/local/application/orafin/applmgr/out/outfaud. File existing in the directory is S1759.zip
    i have created a directory as:
    create or replace directory
    REPORT_DIRECTORY
    as
    '/opt/local/application/orafin/applmgr/out/outfaud';
    when i use BFILENAME as select BFILENAME('/oracle/oradata/bfiles', 'S1759.zip') from dual
    output: REPORT_DIRECTORY//S1759.zip
    my code is something like this
    v_bfile:= BFILENAME(p_oracle_directory, p_file_name);
    v_file_length := DBMS_LOB.GETLENGTH(v_bfile);
    Error: ORA-22288: file or LOB operation GETLENGTH failed
    No such file or directory
    Could anyone please help me as im really struggling to fix this. Thanks!

    Thank you for the response..
    v_bfile:= BFILENAME(p_oracle_directory, p_file_name);
    -- Get the size of the file to be attached
    v_file_length := DBMS_LOB.GETLENGTH(v_bfile);
    -- Calculate the number of pieces the file will be split up into
    v_pieces := TRUNC(v_file_length / v_amt);
    -- Calculate the remainder after dividing the file into v_amt chunks
    v_modulo := MOD(v_file_length, v_amt);
    IF (v_modulo <> 0) THEN
    -- Since the file does not devide equally
    -- we need to go round the loop an extra time to write the last
    -- few bytes - so add one to the loop counter.
    v_pieces := v_pieces + 1;
    END IF;
    DBMS_LOB.FILEOPEN(v_bfile, DBMS_LOB.FILE_READONLY);
    FOR i IN 1 .. v_pieces LOOP
    -- we can read at the beginning of the loop as we have already calculated
    -- how many iterations we will take and so do not need to check
    -- end of file inside the loop.
    v_buf := NULL;
    DBMS_LOB.READ(v_bfile, v_amt, v_file_pos, v_buf);
    v_file_pos := I * v_amt + 1;
    UTL_SMTP.WRITE_RAW_DATA(p_conn, UTL_ENCODE.BASE64_ENCODE(v_buf));
    END LOOP;
    END;
    DBMS_LOB.FILECLOSE(v_bfile);
    end_attachment(p_conn => p_conn);
    this is the existing code..so you which part of the code should i be replacing? im sorry im new to these concepts. thanks!

  • INSERTING VIDEO : ORA-22288: file or LOB operation FILEOPEN failed

    Hi
    I'm trying to insert BFILE videos wih a procedure:
    CREATE OR REPLACE PROCEDURE "SYSTEM"."NEWVIDEO" (vid in number,
    descr in varchar2, name in varchar2)
    as
    videoOBJ ordsys.ordvideo;
    ctx RAW(4000) := null;
    begin
    select V.video into videoOBJ
    from video V
    where V.identifier = vid
    for update;
    videoOBJ.setDescription(descr);
    videoOBJ.setSource('file', 'VIDEO_DIR', name);
    videoOBJ.setProperties(ctx, true);
    update video V
    set V.video = videoOBJ
    where V.identifier = vid;
    commit;
    end;
    when execting in SQLplus
    SQL>create or replace directory VIDEO_DIR as '/bpmod61/VIDEOS';
    SQL>begin newvideo(26,'system video','BPR.AVI');end;
    I got this message:
    ERROR at line 1:
    ORA-06510: PL/SQL: unhandled user-defined exception
    ORA-06512: at "ORDSYS.ORDVIDEO", line 1260
    ORA-22288: file or LOB operation FILEOPEN failed
    No such file or directory
    ORA-06512: at "SYSTEM.NEWVIDEO", line 12
    ORA-06512: at line 1
    I checked permission privilege for directory and file access: everything grant to everyone.

    Thank you for the reply Larry
    I tested my database using tutorial script viddemo.sql
    and i get the same message
    directory created and read granted on it to public
    OWNER DIRECTORY_NAME
    DIRECTORY_PATH
    SYS VIDDIR
    c:\video
    When i try
    SQL> DECLARE
    2 obj ORDSYS.ORDVideo;
    3 ctx RAW(4000) := NULL;
    4 BEGIN
    5 SELECT video into obj from T_VIDEO where id = 1 FOR UPDATE;
    6 -- set description
    7 obj.setDescription('Video from a BFILE');
    8 -- set mimetype
    9 obj.setMimeType('video/x-quicktime');
    10 -- set source
    11 obj.setSource('FILE', 'VIDDIR','Sample.mov');
    12 -- import data
    13 obj.import(ctx);
    14 -- set video attributes
    15 obj.setKnownAttributes('MOOV', 400, 300, 1024, 10, 3600,
    16 36000, 'NONE', 256, 28000);
    17 UPDATE T_VIDEO SET VIDEO=obj WHERE id=1;
    18 END;
    19 /
    DECLARE
    ERROR AT LINE 1 :
    ORA-06510: PL/SQL: unhandled user-defined exception
    ORA-06512: at "ORDSYS.ORDSOURCE", line 181
    ORA-22288: file or LOB operation FILEOPEN failed
    No such file or directory
    ORA-06512: at "ORDSYS.ORDVIDEO", line 517
    ORA-06512: at line 13
    Thank you for the help

  • ORA-22288: file or LOB operation GETLENGTH failed

    I am using the following procedure for email the with attachment. it give the error, while I have check the directory rights is OK, also check the following thread
    Error Message is ORA-22288: file or LOB operation GETLENGTH failed
    but no result,
    I do this on clone working fine, but production not working fine while I found one thing that the file generate in temp folder of clone while in Production did not generate.
    CREATE OR REPLACE PROCEDURE APPS.mail_files (p_from_name VARCHAR2,
    p_to_name VARCHAR2,
    p_subject VARCHAR2,
    p_message VARCHAR2,
    p_oracle_directory VARCHAR2,
    p_binary_file VARCHAR2)
    IS
    -- Example procedure to send a mail with an in line attachment
    -- encoded in Base64
    -- this procedure uses the following nested functions:
    -- binary_attachment - calls:
    -- begin_attachment - calls:
    -- write_boundary
    -- write_mime_header
    -- end attachment - calls;
    -- write_boundary
    -- change the following line to refer to your mail server
    v_smtp_server VARCHAR2(1000) := 'mail.company.com';
    v_smtp_server_port NUMBER := 25;
    v_directory_name VARCHAR2(1000) ;
    v_file_name VARCHAR2(1000);
    v_mesg VARCHAR2(32767);
    v_conn UTL_SMTP.CONNECTION;
    PROCEDURE write_mime_header(p_conn in out nocopy utl_smtp.connection,
    p_name in varchar2,
    p_value in varchar2)
    IS
    BEGIN
    UTL_SMTP.WRITE_RAW_DATA(
    p_conn,
    UTL_RAW.CAST_TO_RAW( p_name || ': ' || p_value || UTL_TCP.CRLF)
    END write_mime_header;
    PROCEDURE write_boundary(p_conn IN OUT NOCOPY UTL_SMTP.CONNECTION,
    p_last IN BOOLEAN DEFAULT false)
    IS
    BEGIN
    IF (p_last) THEN
    UTL_SMTP.WRITE_DATA(p_conn, '--DMW.Boundary.605592468--'||UTL_TCP.CRLF);
    ELSE
    UTL_SMTP.WRITE_DATA(p_conn, '--DMW.Boundary.605592468'||UTL_TCP.CRLF);
    END IF;
    END write_boundary;
    PROCEDURE end_attachment(p_conn IN OUT NOCOPY UTL_SMTP.CONNECTION,
    p_last IN BOOLEAN DEFAULT TRUE)
    IS
    BEGIN
    UTL_SMTP.WRITE_DATA(p_conn, UTL_TCP.CRLF);
    IF (p_last) THEN
    write_boundary(p_conn, p_last);
    END IF;
    END end_attachment;
    PROCEDURE begin_attachment(p_conn IN OUT NOCOPY UTL_SMTP.CONNECTION,
    p_mime_type IN VARCHAR2 DEFAULT 'text/plain',
    p_inline IN BOOLEAN DEFAULT false,
    p_filename IN VARCHAR2 DEFAULT null,
    p_transfer_enc in VARCHAR2 DEFAULT null)
    IS
    BEGIN
    write_boundary(p_conn);
    IF (p_transfer_enc IS NOT NULL) THEN
    write_mime_header(p_conn, 'Content-Transfer-Encoding',p_transfer_enc);
    END IF;
    write_mime_header(p_conn, 'Content-Type', p_mime_type);
    IF (p_filename IS NOT NULL) THEN
    IF (p_inline) THEN
    write_mime_header(
    p_conn,
    'Content-Disposition', 'inline; filename="' || p_filename || '"'
    ELSE
    write_mime_header(
    p_conn,
    'Content-Disposition', 'attachment; filename="' || p_filename || '"'
    END IF;
    END IF;
    UTL_SMTP.WRITE_DATA(p_conn, UTL_TCP.CRLF);
    END begin_attachment;
    PROCEDURE binary_attachment(p_conn IN OUT UTL_SMTP.CONNECTION,
    p_file_name IN VARCHAR2,
    p_mime_type in VARCHAR2)
    IS
    c_max_line_width CONSTANT PLS_INTEGER DEFAULT 54;
    v_amt BINARY_INTEGER := 672 * 3; /* ensures proper format; 2016 */
    v_bfile BFILE;
    v_file_length PLS_INTEGER;
    v_buf RAW(2100);
    v_modulo PLS_INTEGER;
    v_pieces PLS_INTEGER;
    v_file_pos pls_integer := 1;
    BEGIN
    begin_attachment(
    p_conn => p_conn,
    p_mime_type => p_mime_type,
    p_inline => TRUE,
    p_filename => p_file_name,
    p_transfer_enc => 'base64');
    BEGIN
    v_bfile := BFILENAME(p_oracle_directory, p_file_name);
    -- Get the size of the file to be attached
    v_file_length := DBMS_LOB.GETLENGTH(v_bfile);
    -- Calculate the number of pieces the file will be split up into
    v_pieces := TRUNC(v_file_length / v_amt);
    -- Calculate the remainder after dividing the file into v_amt chunks
    v_modulo := MOD(v_file_length, v_amt);
    IF (v_modulo <> 0) THEN
    -- Since the file does not devide equally
    -- we need to go round the loop an extra time to write the last
    -- few bytes - so add one to the loop counter.
    v_pieces := v_pieces + 1;
    END IF;
    DBMS_LOB.FILEOPEN(v_bfile, DBMS_LOB.FILE_READONLY);
    FOR i IN 1 .. v_pieces LOOP
    -- we can read at the beginning of the loop as we have already calculated
    -- how many iterations we will take and so do not need to check
    -- end of file inside the loop.
    v_buf := NULL;
    DBMS_LOB.READ(v_bfile, v_amt, v_file_pos, v_buf);
    v_file_pos := I * v_amt + 1;
    UTL_SMTP.WRITE_RAW_DATA(p_conn, UTL_ENCODE.BASE64_ENCODE(v_buf));
    END LOOP;
    END;
    DBMS_LOB.FILECLOSE(v_bfile);
    end_attachment(p_conn => p_conn);
    EXCEPTION
    WHEN NO_DATA_FOUND THEN
    end_attachment(p_conn => p_conn);
    DBMS_LOB.FILECLOSE(v_bfile);
    END binary_attachment;
    -- Main Routine
    BEGIN
    -- Connect and set up header information:
    v_conn:= UTL_SMTP.OPEN_CONNECTION( v_smtp_server, v_smtp_server_port );
    UTL_SMTP.HELO( v_conn, v_smtp_server );
    UTL_SMTP.MAIL( v_conn, p_from_name );
    UTL_SMTP.RCPT( v_conn, p_to_name );
    UTL_SMTP.OPEN_DATA ( v_conn );
    UTL_SMTP.WRITE_DATA(v_conn, 'Subject: '||p_subject||UTL_TCP.CRLF);
    v_mesg:= 'Content-Transfer-Encoding: 7bit' || UTL_TCP.CRLF ||
    'Content-Type: multipart/mixed;boundary="DMW.Boundary.605592468"' || UTL_TCP.CRLF ||
    'Mime-Version: 1.0' || UTL_TCP.CRLF ||
    '--DMW.Boundary.605592468' || UTL_TCP.CRLF ||
    'Content-Transfer-Encoding: binary'||UTL_TCP.CRLF||
    'Content-Type: text/plain' ||UTL_TCP.CRLF ||
    UTL_TCP.CRLF || p_message || UTL_TCP.CRLF ;
    UTL_SMTP.write_data(v_conn, 'To: ' || p_to_name || UTL_TCP.crlf);
    UTL_SMTP.WRITE_RAW_DATA ( v_conn, UTL_RAW.CAST_TO_RAW(v_mesg) );
    -- Add the Attachment
    binary_attachment(
    p_conn => v_conn,
    p_file_name => p_binary_file,
    -- Modify the mime type at the beginning of this line depending
    -- on the type of file being loaded.
    p_mime_type => 'text/plain; name="'||p_binary_file||'"'
    -- Send the email
    UTL_SMTP.CLOSE_DATA( v_conn );
    UTL_SMTP.QUIT( v_conn );
    END;
    Error
    ORA-22288: file or LOB operation GETLENGTH failed
    No such file or directory
    ORA-06512: at "SYS.DBMS_LOB", line 678
    ORA-06512: at "APPS.MAIL_FILES", line 122
    ORA-06512: at "APPS.MAIL_FILES", line 179
    ORA-06512: at line 2

    CREATE OR REPLACE PROCEDURE APPS.mail_files (p_from_name VARCHAR2,
    p_to_name VARCHAR2,
    p_subject VARCHAR2,
    p_message VARCHAR2,
    p_oracle_directory VARCHAR2,
    p_binary_file VARCHAR2)
    IS
    -- Example procedure to send a mail with an in line attachment
    -- encoded in Base64
    -- this procedure uses the following nested functions:
    -- binary_attachment - calls:
    -- begin_attachment - calls:
    -- write_boundary
    -- write_mime_header
    -- end attachment - calls;
    -- write_boundary
    -- change the following line to refer to your mail server
    v_smtp_server VARCHAR2(1000) := 'mail.company.com';
    v_smtp_server_port NUMBER := 25;
    v_directory_name VARCHAR2(1000);
    v_file_name VARCHAR2(1000);
    v_mesg VARCHAR2(32767);
    v_conn UTL_SMTP.CONNECTION;
    PROCEDURE write_mime_header(p_conn in out nocopy utl_smtp.connection,
    p_name in varchar2,
    p_value in varchar2)
    IS
    BEGIN
    UTL_SMTP.WRITE_RAW_DATA(
    p_conn,
    UTL_RAW.CAST_TO_RAW( p_name || ': ' || p_value || UTL_TCP.CRLF)
    END write_mime_header;
    PROCEDURE write_boundary(p_conn IN OUT NOCOPY UTL_SMTP.CONNECTION,
    p_last IN BOOLEAN DEFAULT false)
    IS
    BEGIN
    IF (p_last) THEN
    UTL_SMTP.WRITE_DATA(p_conn, '--DMW.Boundary.605592468--'||UTL_TCP.CRLF);
    ELSE
    UTL_SMTP.WRITE_DATA(p_conn, '--DMW.Boundary.605592468'||UTL_TCP.CRLF);
    END IF;
    END write_boundary;
    PROCEDURE end_attachment(p_conn IN OUT NOCOPY UTL_SMTP.CONNECTION,
    p_last IN BOOLEAN DEFAULT TRUE)
    IS
    BEGIN
    UTL_SMTP.WRITE_DATA(p_conn, UTL_TCP.CRLF);
    IF (p_last) THEN
    write_boundary(p_conn, p_last);
    END IF;
    END end_attachment;
    PROCEDURE begin_attachment(p_conn IN OUT NOCOPY UTL_SMTP.CONNECTION,
    p_mime_type IN VARCHAR2 DEFAULT 'text/plain',
    p_inline IN BOOLEAN DEFAULT false,
    p_filename IN VARCHAR2 DEFAULT null,
    p_transfer_enc in VARCHAR2 DEFAULT null)
    IS
    BEGIN
    write_boundary(p_conn);
    IF (p_transfer_enc IS NOT NULL) THEN
    write_mime_header(p_conn, 'Content-Transfer-Encoding',p_transfer_enc);
    END IF;
    write_mime_header(p_conn, 'Content-Type', p_mime_type);
    IF (p_filename IS NOT NULL) THEN
    IF (p_inline) THEN
    write_mime_header(
    p_conn,
    'Content-Disposition', 'inline; filename="' || p_filename || '"'
    ELSE
    write_mime_header(
    p_conn,
    'Content-Disposition', 'attachment; filename="' || p_filename || '"'
    END IF;
    END IF;
    UTL_SMTP.WRITE_DATA(p_conn, UTL_TCP.CRLF);
    END begin_attachment;
    PROCEDURE binary_attachment(p_conn IN OUT UTL_SMTP.CONNECTION,
    p_file_name IN VARCHAR2,
    p_mime_type in VARCHAR2)
    IS
    c_max_line_width CONSTANT PLS_INTEGER DEFAULT 54;
    v_amt BINARY_INTEGER := 672 * 3; /* ensures proper format; 2016 */
    v_bfile BFILE;
    v_file_length PLS_INTEGER;
    v_buf RAW(2100);
    v_modulo PLS_INTEGER;
    v_pieces PLS_INTEGER;
    v_file_pos pls_integer := 1;
    BEGIN
    begin_attachment(
    p_conn => p_conn,
    p_mime_type => p_mime_type,
    p_inline => TRUE,
    p_filename => p_file_name,
    p_transfer_enc => 'base64');
    BEGIN
    v_bfile := BFILENAME(p_oracle_directory, p_file_name);
    -- Get the size of the file to be attached
    v_file_length := DBMS_LOB.GETLENGTH(v_bfile);
    -- Calculate the number of pieces the file will be split up into
    v_pieces := TRUNC(v_file_length / v_amt);
    -- Calculate the remainder after dividing the file into v_amt chunks
    v_modulo := MOD(v_file_length, v_amt);
    IF (v_modulo <> 0) THEN
    -- Since the file does not devide equally
    -- we need to go round the loop an extra time to write the last
    -- few bytes - so add one to the loop counter.
    v_pieces := v_pieces + 1;
    END IF;
    DBMS_LOB.FILEOPEN(v_bfile, DBMS_LOB.FILE_READONLY);
    FOR i IN 1 .. v_pieces LOOP
    -- we can read at the beginning of the loop as we have already calculated
    -- how many iterations we will take and so do not need to check
    -- end of file inside the loop.
    v_buf := NULL;
    DBMS_LOB.READ(v_bfile, v_amt, v_file_pos, v_buf);
    v_file_pos := I * v_amt + 1;
    UTL_SMTP.WRITE_RAW_DATA(p_conn, UTL_ENCODE.BASE64_ENCODE(v_buf));
    END LOOP;
    END;
    DBMS_LOB.FILECLOSE(v_bfile);
    end_attachment(p_conn => p_conn);
    EXCEPTION
    WHEN NO_DATA_FOUND THEN
    end_attachment(p_conn => p_conn);
    DBMS_LOB.FILECLOSE(v_bfile);
    END binary_attachment;
    -- Main Routine
    BEGIN
    -- Connect and set up header information:
    v_conn:= UTL_SMTP.OPEN_CONNECTION( v_smtp_server, v_smtp_server_port );
    UTL_SMTP.HELO( v_conn, v_smtp_server );
    UTL_SMTP.MAIL( v_conn, p_from_name );
    UTL_SMTP.RCPT( v_conn, p_to_name );
    UTL_SMTP.OPEN_DATA ( v_conn );
    UTL_SMTP.WRITE_DATA(v_conn, 'Subject: '||p_subject||UTL_TCP.CRLF);
    v_mesg:= 'Content-Transfer-Encoding: 7bit' || UTL_TCP.CRLF ||
    'Content-Type: multipart/mixed;boundary="DMW.Boundary.605592468"' || UTL_TCP.CRLF ||
    'Mime-Version: 1.0' || UTL_TCP.CRLF ||
    '--DMW.Boundary.605592468' || UTL_TCP.CRLF ||
    'Content-Transfer-Encoding: binary'||UTL_TCP.CRLF||
    'Content-Type: text/plain' ||UTL_TCP.CRLF ||
    UTL_TCP.CRLF || p_message || UTL_TCP.CRLF ;
    UTL_SMTP.write_data(v_conn, 'To: ' || p_to_name || UTL_TCP.crlf);
    UTL_SMTP.WRITE_RAW_DATA ( v_conn, UTL_RAW.CAST_TO_RAW(v_mesg) );
    -- Add the Attachment
    binary_attachment(
    p_conn => v_conn,
    p_file_name => p_binary_file,
    -- Modify the mime type at the beginning of this line depending
    -- on the type of file being loaded.
    p_mime_type => 'text/plain; name="'||p_binary_file||'"'
    -- Send the email
    UTL_SMTP.CLOSE_DATA( v_conn );
    UTL_SMTP.QUIT( v_conn );
    END;
    Edited by: user12879396 on Oct 22, 2012 10:39 AM

  • Invalid empty lob operation

    Sir,
    Following code generates "INVALID EMPTY LOB OPERATION" when called through PL/SQL:
    import javax.mail.*;
    import javax.mail.internet.*;
    import java.lang.*;
    import java.io.*;
    import java.util.*;
    import java.sql.*;
    import oracle.jdbc.*;
    import oracle.sql.*;
    public class pmJava
    public static void MailClient(String[] args){
    if (args.length == 0) {
    System.err.println(
    "Usage: MailClient protocol://username:password@host:port/foldername msgNum");
    return;
    URLName server = new URLName(args[0]);
    int msgNum = 1;
    try {
    Connection conn=DriverManager.getConnection("jdbc:default:connection");
    Session session = Session.getDefaultInstance(new Properties(), null);
    // Connect to the server and open the folder
    Folder folder = session.getFolder(server);
    if (folder == null) {
    System.out.println("Folder " + server.getFile() + " not found.");
    System.exit(1);
    folder.open(Folder.READ_ONLY);
    byte[] buffer = new byte[10*1024];
    // Get the messages from the server
    Message[] messages = folder.getMessages();
    // for (int i = 0; i < messages.length; i++) {
    for (int i = msgNum; i <=msgNum; i++) {
    System.out.println("------------ Message " + (i+1)
    + " ------------");
    InputStream is = messages.getInputStream();
    if (!(is instanceof BufferedInputStream))
    is = new BufferedInputStream(is);
    int isIndex;
    BLOB msgContent = BLOB.createTemporary(conn,false,BLOB.DURATION_SESSION);
    msgContent = BLOB.empty_lob();
    OutputStream os = msgContent.getBinaryOutputStream();
    while ((isIndex = is.read(buffer)) != -1)
    os.write(buffer);
    os.close();
    folder.close(false);
    catch (Exception e) {
    e.printStackTrace();
    i want to store the message contents in BLOB variable and then want to insert into database field using JavaMail 1.3API.
    Regards,
    Manpreet Johal

    I believe you will want to use oracle.sql.BLOB.createTemporary(java.sql.Connection conn, boolean cache, int _duration).
    Refer to the API at:
    http://docs.oracle.com/cd/E11882_01/appdev.112/e13995/oracle/sql/BLOB.html

  • IPod Classic 80GB - "iTunes library cannot be saved you do not have enough access privileges for this operation" It says it has synced but it hasn't. Help please I am not very tech minded

    iPod Classic 80GB. Message reads ' iTunes library cannot be saved you do not have enough access privileges for this operation'.  It says it has synced but it hasn't. Please help, I am not very tech minded.

    See this article about troubleshooting the error message regarding access privelages.  It may be preventing your iTunes library from being able to save/retain music you have recently imported to it, which may explain why no new content is being added to your device.
    Trouble adding music to iTunes library or importing audio CD
    B-rock

  • Where can I get the latest Microsoft.SharePoint.ApplicationPages.dll for SharePoint 2010?

    Can somebody point me to where I can get the latest Microsoft.SharePoint.ApplicationPages.dll for SharePoint 2010?
    When I go into Library Settings on any library or list in SharePoint 2010 I’m getting an unexpected error; I see this in the SharePoint log:
    11/18/2014 13:12:26.36 w3wp.exe (0x2260)                       0x33EC  SharePoint Foundation        
            Runtime                                      
    tkau       Unexpected       System.NullReferenceException: Object reference not set to an instance of an object.    at Microsoft.SharePoint.ApplicationPages.ListEditPage.SetSectionLinks()    
    at Microsoft.SharePoint.ApplicationPages.ListEditPage.OnLoad(EventArgs e)     at ASP._layouts_listedit_aspx.OnLoad(EventArgs e)     at System.Web.UI.Control.LoadRecursive()     at System.Web.UI.Page.ProcessRequestMain(Boolean
    includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) 03c7c5b4-407f-461c-9cf7-0304eb797b1a
    I searched online and found this:
    https://social.technet.microsoft.com/Forums/sharepoint/en-US/ed5aa58a-f5cc-4449-8bfd-65ca6f101641/list-settings-page-error-on-all-type-of-sharepoint-2010-listslibraries?forum=sharepointgeneralprevious.  It says:
    We noticed exactly the same issue after applying some SharePoint updates (SP1 + October 2011 CU).  The problem turned out to be that there was an older version (V14.0.4762.1000) of Microsoft.SharePoint.ApplicationPages.dll in the GAC. 
    This version was being loaded instead of the latest version of the DLL (14.0.6112.5000).
    Loading the latest version of Microsoft.SharePoint.ApplicationPages.dll fixed the problem with the List/Library settings page.
    I check our Microsoft.SharePoint.ApplicationPages.dll and found that we have version 14.0.6024.1000.
    I would like to try replacing it with the latest version to see if that could fix the problem going into library settings.
    Does someone know where I can get the latest Microsoft.SharePoint.ApplicationPages.dll for SharePoint 2010?
    David

    You would need to extract it from an update. Pre-SP2 SharePoint 2010 is no longer supported, I'd recommend upgrading to SP2 which should take care of any versioning issues.
    Trevor Seward
    Follow or contact me at...
    &nbsp&nbsp
    This post is my own opinion and does not necessarily reflect the opinion or view of Microsoft, its employees, or other MVPs.

  • What does this message mean, "The iPad cannot be synced.  You do not have enough access privileges for this operation?"

    I need some help syncing my iPad.  I get a message about not having enough privileges for this operation.  Any help would be appreciated.
    Thanks,

    It means you are using windows and the user agent stuff is messed up.
    Try looking at permissions on the drive iTunes library is on.

Maybe you are looking for

  • Purchase order Reports

    MM Experts, Is there a report like ME2K, that will contain the requisitioner and the Long PO text at the item level? I also looked into ME5K where I get the requisitioner but I get no PO net Amount. Are there any more robust reports? or how can I do

  • How to create DBA user?

    How to create user like "System" with all the right of DBA??

  • SLD Connection failed

    Hi all, I'm having problems at connecting to the SLD from the Content Administrator. The only button I can use is to check the SLD connection, but this fails. In the SLD I'm also having problem,s with starting and stopping the SLD Server: "Failed to

  • Can I import Fuji X-E1 Raw Files

    I cannot import RAW files from my FUJI X-E1 camera. Is there an update for this file type.

  • Is my iPod toast?  Error message 1430 when trying to restore.

    I connected my ipod then it said it may be corrupt and should restore...uploaded latest itunes and tried to restore but received error message 1430...now my computer doesn't even list it in devices...What should I do?