Save image in Oracle without retrieving a BMP later
Right now I'm facing some performance issues in a web app because of a situation with Oracle saving images and my webapp getting them.
The database where the image is stored gets it from a Oracle Forms' form, which allows user to save some data along the image (as a BLOB). No matter the format you choose as input, it gets saved in a table with its description and stuff, with the corresponding field getting the image is a BLOB.
Now going to the webapp, it reaches the table through a web service querying a stored procedure and a Java WS client, so my webapp gets t开发者_StackOverflow社区he image and saves it in the webapp's server's temp folder while needed. The output does not get any particular extension because the DB doesn't tell which extension should it be. Anyhow, the broswer can tell using the metadata. A brief schema of the process goes as follows
Presentation layer <--- Business logic <--- WS Client ---o)--- WS <--- Stored Proc <--- BLOB column
My problem is: how can I avoid the DB serving a bitmap? The performance is awful in specific situations and poor connections because of loading a 1.5MB bitmap. And this webapp must be able to work properly in 256Mb connections. What can be done, then?
Thanks for your help.
Edit: The thing can be treated using BFILE datatype. Thanks for your help. (2010/10/20)
Edit2: The images are uploaded to the database thru a client/server system build in oracle forms (6i/10g). The form itself is the one who stores the image as a blob in the table, transforming it into a bitmap, doesn´t matter if the uploaded image is a light jpg (2011/12/07)
Not sure at which layer you actually want to handle things. If it is the database layer, then I suspect you need to start using ORDSYS.OrdImage datatypes, and you can them make use of the built-in format conversion operations to turn BMP to JPG or whatever.
Also consider is the problem with large bitmaps or with large image files in general.
精彩评论