Hi guys, I'm new to Oracle intermedia. I have questions regarding on this topic.
1. Can i insert images directly to table rows?
2. What is the best approach if I'm using Oracle as back end, ASP as front end. I need to insert, update, delete and retrieve images in the Oracle database using my ASP application(This is MapGuide GIS application). Should I create directory to store all my images or save the images directly to tables?
3. Which is the best to use, BLOB, BFILE or ORDImage.?
Before I answer your questions, I note that you are creating a GIS application. Are these images associated with coordinates or otherwise gridded data (layers etc)? If yes, you may want to take a look at the GeoRaster component of the Oracle Spatial option.
See www.oracle.com/technology/products/spatial/index.html for more information
GeoRaster is a feature of Oracle Spatial that lets you store, index, query, analyze,
and deliver raster image and gridded data and its associated metadata. GeoRaster
provides Oracle spatial data types and an object-relational schema. You can use
these data types and schema objects to store multidimensional grid layers and
digital images that can be referenced to positions on the Earth's surface or in a
local coordinate system. If the data is georeferenced, you can find the location on
Earth for a cell in an image; or given a location on Earth, you can find the cell in
an image associated with that location.
The Oracle Multimedia OTN home page is http://www.oracle.com/technology/products/intermedia/index.html
1. Yes you can store images in ORDImage columns or BLOB columns of your rows.
Look at the Oracle Multimedia QuickStart guides from the sample code page to show you how this is done
2. You can read and write image data directly to BLOBs that are stored in your table. You will need to execute a query that creates or returns an initialized BLOB locator to your .NET application. This can be done in a number of ways.
1. insert returning (execute as anonymous pl/sql block)
insert into myimages(image) t
returning t.image.source.localData into :?;
or if your image column is created elsewhere, you can select the blob using a query:
select t.image.source.localdata into :? from myimages t where ....
3. You want to store the image in the database using ORDImage or BLOB. The advantage of ORDImage is that it is strongly typed, it is an image column, not just a binary data column. Also the ORDImage object will store the important image metadata attributes (height, width, mimetype etc) for you.
Try readiing the early chapters of the development guide for an introduction to Oracle Multimedia functionality.