ORDSYS.ORDimage and BLOB convertion
Hi every one,
I have a ORDSYS.ORDimage in a table (under Oracle 9i) that I need to show in a Forms 6i Image item (wich is finally a BLOB I guess).
Is there anyone that could tell me how to convert ORDSYS.ORDimage into a BLOB. I found in the interMedia documentation examples on how to save a BLOB into a ORDSYS.ORDimage with the filename of the image but I found nothing on converting ORDSYS.ORDimage into BLOB and vice versa.
Thank everyone for your help.
Marc
And you are possible to display blob from table in form s image item?
I tried this, but it didn't go, can you tell me, how did you do?
Similar Messages
-
ORDSYS.ORDIMAGE vs BLOB
Dear all,
I've designed a table with an ordsys.ordimage field for images. BIG MISTAKE, because there is no possibility to upload images from a form. I'd like to change it into a BLOB field but an error arises:
"You cannot modify the column definition for types CLOB, NCLOB, BFILE, BLOBand Intermedia Object types(ORDSYS.ORDIMAGE, ORDSYS.ORDAUDIO, ORDSYS.ORDVIDEO). (WWV-17079)"
Could I change it anyhow in order not to build a new table? I have a lot of forms referring to that table and I should change these forms too....(and we know it is pretty difficult)...
I would appreciate any help.
TomasAnd you are possible to display blob from table in form s image item?
I tried this, but it didn't go, can you tell me, how did you do? -
Hi,
Is it possible to create an ORDSYS.ORDImage object out of a BLOB?
I would like to retrieve image's height and width and I know that ordimage object has methods I need, but I store images as file attributes of an item. When displaying the attributes' values I retrieve data from proper tables using PL/SQL procedure. However, files are stored in WWV_DOCUMENTS where obviously there is no information about the height or width of an image and the image is displayed in its actual size, which is what I would like to change. How can I achieve it?
Thanks,
EwaIf you have your images stored in a blob, you can use the intermedia relational interface to process the images, see:
http://otn.oracle.com/doc/oracle8i_816/inter.816/relational_interface/mm_relat.htm#1086668
You will get results in XML and can store the attributes as XML or us the PL/SQL XML parser to get the values. -
ORDSYS.ORDIMAGE to BLOB data type in select ??
Is posible to make a SELECT that return a BLOB field from a ORDIMAGE field..??
Example: I have the table XXX :
CREATE TABLE XXX(
image ORDSYS.ORDIMAGE
Now.. I need return the "image" field but like a BLOB field..
It's possible ... ??http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:56973810055298
-
Hi,
I've seen numerous threads about copying BLOB's to ORDimage, but none about doing it in reverse.
The thing is that we already have a blob table in production, and want to start using ORDimage for initial insertion but keep the existing code unchanged for now.
This is what I have tried, it doesnt seem to work, results in a null BLOB.
Declaration
image1 ORDSYS.ORDIMAGE;
image2 ORDSYS.ORDIMAGE;
b_pic1 blob;
b_pic2 blob;
/* code snippet to work the image1 and image2. Those images come out fine */
insert into blobtable (id, pic1, pic2) values (seq.nextval, empty_blob(),empty_blob())
return pic1,pic2 into b_pic1,b_pic2;
b_pic1 := image1.source.localdata;
b_pic2 := image2.source.localdata;
Any help appreciated.
Regards
OliFound it out.
I have to use :
ORDSYS.ORDImage.processCopy(new_image.source.localdata,
'fileFormat='||image1.getfileformat, b_pic1);
ORDSYS.ORDImage.processCopy(new_thumb.source.localdata,
'fileFormat='||image2.getfileformat, b_pic2);
instead of the
b_pic1 := image1.source.localdata;
b_pic2 := image2.source.localdata;
Regards
Oli -
How to populate a table with ORDSYS.ORDImage item by BLOB item?
Hi, I have a table, that contain blob column and another table with ORDSYS.ORDImage column and I would like to populate ORDSYS.ORDImage item in table by BLOB item, in which I have store some images?
You should be able to do something like (this is off the top of my head, so please excuse any compile errors...):
define
b blob;
i ordsys.ordimage;
begin
INSERT INTO ordsysImgs VALUES (1,ORDSYS.ORDImage.init());
select imgCol into i from ordsysImgs where ID = 1 for update;
select blobcol into b from blobImgTable;
i.source.localdata := b;
i.setlocal();
i.setproperties();
update imgcol set imgCol = i where ID = 1;
commit;
end; -
Forms 6i and ordsys.ordimage
i tried to build a form from a table containing an ordsys.ordimage. at first, it looked like it was happening, the forms builder knew all about the little parts of ordsys.ordimage, but when I ran the form, it acted like there were no records (which there are). i tried to build a form displaying only the "normal" fields but it didn't work either. any suggestions?
thanks in advance - burtnevermind -
it works great! i just forgot to commit the whole mess in the sqlplus/plsql session. once i did, everything displayed on the form perfectly. it's really neat. -
I need to save image in database blob column, but as i get the blob from View Object, it return data type of blobdomain, can anyone tell me is it possible to convert a blobdomain to blob so that i can save it into my db. Can provide me some example code on using blob or blobdomain.
Dear Sir...
Are you using ADF UIX with JDeveloper 10.1.2? or what?
There is a number of other data types to deal with multimedia contents. These are
ORDSYS.ORDImage to deal with images
ORDSYS.ORDVideo to deal with video
ORDSYS.ORDAudio to deal with audio. you can use them with ADF UIX that provides upload and download capability for such fields.
hope this help
best regards -
Limitations with interMedia with ORDSYS.ORDImage.process()?
Hello,
We are currently writing an Apex application that will allow our users to upload pictures to the database. We have been using interMedia to manipulate them as we want to create thumbnails etc. We have one picture that just won't scale down at all. We are using blobs to store the images on the database. We are using the command:
ORDSYS.ORDImage.process(l_thumb, 'maxscale=160 160');
and as I say most of the images are scaling but some are not. The image details is by using ORDSYS.ORDImage.getProperties:
MIME Type: image/jpeg
Width: 3292
Height: 3279
File Format: JFIF
Content Format: 24BITRGB
Compression Format: JPEG
Content Length/Size: 3634347 (bytes)
As I say when I try and do the process command it makes no difference as the thumbnail properties are the same as the original properties.
If so is there anyway around this?
Thanks,
Paul.Hi there.
We are trying to do this in PL/SQL and was wondering if it did write anything to a exception table?
Here is the code that we use:
declare
l_page blob;
l_web blob;
l_thumb blob;
L_TEMP_BLOB BLOB;
TEMP_ID INTEGER;
AMOUNT INTEGER;
l_mime VARCHAR2(250);
begin
IF (:P2_FILE_NAME is not null)
THEN
SELECT blob_content a, mime_type
INTO L_TEMP_BLOB, l_mime
FROM HTMLDB_APPLICATION_FILES
WHERE NAME = :P2_FILE_NAME;
INSERT INTO PL_IMG_DATA(img_data_id, title, location, img_date, grid_ref, orig_img_loc, description, staff_number,unit_id, mime_type, file_name)
VALUES (PL_IMG_DATA_SEQ.nextval, :P2_TITLE, :P2_LOCATION, :P2_DATE, upper(:P2_GRID_REF), :P2_ORIGINAL_LOCATION, :P2_DESCRIPTION, :P2_STAFF_NUMBER, :P2_MAN_UNIT, l_mime, :P2_FILE_NAME)
RETURN img_data_id into TEMP_ID;
COMMIT;
UPDATE PL_IMG_DATA SET THUMBNAIL = EMPTY_BLOB(), WEB_IMG = EMPTY_BLOB(), PAGE_IMG = EMPTY_BLOB()
WHERE IMG_DATA_ID = TEMP_ID;
COMMIT;
SELECT THUMBNAIL, WEB_IMG, PAGE_IMG
INTO l_thumb, l_web, l_page
FROM PL_IMG_DATA
WHERE IMG_DATA_ID = TEMP_ID
FOR UPDATE;
amount := dbms_lob.getlength(L_TEMP_BLOB);
DBMS_LOB.copy(l_thumb, L_TEMP_BLOB, AMOUNT, 1, 1);
DBMS_LOB.copy(l_WEB, L_TEMP_BLOB, AMOUNT, 1, 1);
DBMS_LOB.copy(l_PAGE, L_TEMP_BLOB, AMOUNT, 1, 1);
ORDSYS.ORDImage.process(l_thumb, 'maxscale=160 160');
ORDSYS.ORDImage.process(l_web, 'maxscale=320 320');
ORDSYS.ORDImage.process(l_page, 'maxscale=640 640');
UPDATE PL_IMG_DATA SET THUMBNAIL =L_THUMB, WEB_IMG = L_WEB, PAGE_IMG = L_PAGE
WHERE IMG_DATA_ID = TEMP_ID;
COMMIT;
DELETE FROM HTMLDB_APPLICATION_FILES
WHERE NAME = :P2_FILE_NAME;
END IF;
END;
As we say it seem to work for images that are a certain size but anything that is roughly over 3,500 KB it doesn't scale it down.
We were wondering if the this is a version problem as we are currently on Oracle 9.2.0.8.0?
We did manage to scale it down when we used a TIFF but then the application didn't display it so we converted the scaled down image back to a jpeg. This seems a bit mad to do right enough, -
ORDSYS.ORDImage.processCopy
Hello,
i have problem - when i create thumbnail from bigger picture (biger as 5 Mpixel) then application create record with length "0" (blob)
ORDSYS.ORDImage.processCopy(src_blob,'maxscale=180 130', dst_blob);
update iacs_lob.lo_thumb set thumb_data=dst_blob where id =iid;
end;
can you help me? thanksJust to update it seems that the problem is that colour range is not being normalized properly. For example, if use the linux command
convert -normalize input.tif output.jpg
This will produce a decent looking image. Are there any auto normaliztion function in the process() function? -
Help me with ordsys.ordimage
i have problems when using interMedia to import images on DB server.
i have 2 tables :
create table t( pic_id number, pic_ord ordsys.ordimage);
create table demo(id number, b BLOB);
create directory PICDIR as 'd:\pic'; --- this directory is correct on server;
grant read on directory PICDIR to PUBLIC;
commit;
DECLARE
img ordsys.ordimage;
ctx raw(4000);
BEGIN
insert into t values(1,ordsys.ordimage.init());
select pic_ord into img
from t
where pic_id=1 for update;
img.setSource('FILE','PICDIR','1.bmp');
-- set source is OK,but the following IMPORT() raises exceptions
img.import(ctx);
img.setProperties();
update t
set pic_ord=img
where pic_id=1;
commit;
end;
ERROR at line 1:
ORA-29400: data plug-in error IMG-00002:
ORA-06512: at "ORDSYS.ORDIMG_PKG", line 590
ORA-06512: at "ORDSYS.ORDIMAGE", line 65
ORA-06512: at "ORDSYS.ORDIMG_PKG", line 677
ORA-06512: at "ORDSYS.ORDIMAGE", line 213
ORA-06512: at line 16
=====================================
after millions of times trying that ,i tried to load the file into a blob,
and copy from blob to ordsys.ordimage.source.localdata(this is a blob);
see:
DECLARE
l_blob blob;
l_file bfile;
BEGIN
delete from t;
insert into demo values(1,EMPTY_BLOB())
returning b into l_blob;
l_bfile := bfilename( 'PICDIR', '1.bmp');
dbms_lob.fileopen( l_bfile );
dbms_lob.loadfromfile( l_blob, l_bfile, dbms_lob.getlength( l_bfile ) );
dbms_lob.fileclose( l_bfile );
end;
succeed!
SQL> select id, dbms_lob.getLength(b) from demo;
ID DBMS_LOB.GETLENGTH(B)
1 1963494
===================================================
then i copy the blob into t.pic:
insert into t
( select id, ordsys.ordimage(ordsys.ordsource(b,NULL, NULL, NULL, SYSDATE, 1 ),
NULL, NULL, NULL, NULL, NULL, NULL, NULL )
from demo
==================================================
then i check the blob's size in ordimage,and use setProperties() :
declare
img ordsys.ordimage;
ctx raw(4000);
begin
select pic into img
from t
where pic_id= 1 for update;
dbms_output.put_line('ord blob length:'||dbms_lob.getLength(img.source.localdata));
img.setProperties();
update t
set pic=img
where pic_id=1;
commit;
end;
ord blob length:1963494
declare
ERROR at line 1:
ORA-29400: data plug-in error:IMG-00002:
ORA-06512: at "ORDSYS.ORDIMG_PKG", line 590
ORA-06512: at "ORDSYS.ORDIMAGE", line 65
ORA-06512: at line 10
i do not know the mechanism of data plug-in. but i suppose it's the configuration's error of my oracle DB.
please help me!!
[email protected]Thank you!
My db version is 9.0.1.0.1
interMedia version 9.0.1.0.1
i thought it's the installation error, but i have tried the /ord/im/admin/imchk.sql.
Both version and components are VALID.
JServer setup is correct.
the JServer java objects are all valid.
ORDSYS.ORDPLUGINS is VALID.
but the codes can still not run!!
i don't know what's wrong.
please help me!
thank you!!
Apex -
How to build a report on a table containing ORDSYS.ORDIMAGE type?
Hi
I build a table with a column of type ORDSYS.ORDIMAGE then I
build a form using wizard and populate the table by uploading
intermedia type and I can make query on that form and see the
image. But when I build a report using wizard, the report result
shows image data as it is in text format.
Am I doing something wrong or there is another way to make
report on ORDSYS.ORDIMAGE column type.
Thanks.
byeThis could be because, you might have the display type as text
instead of html for this column.
Could you pls verify this by selecting as html and try running
the report. If it still not working then pls post your Portal
Version so that we can verify it out here. Presently, it is
working fine for me.
Thanx,
chetan. -
Hello,
I have asked about this before but I still haven't got it to work. The problem is getting a BLOB from oracle and then converting it into a .jpg file. My program only returns an empty file. If someone knows what's wrong with my code please let me know!
import java.sql.*;
import oracle.jdbc.driver.*;
import oracle.sql.*;
import java.math.BigDecimal;
import java.util.Map;
import java.io.*;
class InsertImage {
public static void main (String args [])
throws SQLException, IOException {
String user, pass, snum, namer;
int enumber;
user = "xxx";
pass = "xxxxxx";
// Connect using the jdbc driver.
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver ());
//get the connection to the ccdb database.
OracleConnection conn = (OracleConnection)
DriverManager.getConnection("jdbc:oracle:thin:@cactus.prism.gatech.edu:1525:ccdb",user,pass);
conn.setAutoCommit(false);
Statement stmt = conn.createStatement ();
String cmd = "select * from ImageTable";
ResultSet rset = stmt.executeQuery(cmd);
System.out.println("Select statement executed");
FileOutputStream outFile=null;
while(rset.next()){
//get the Blob locator
System.out.println("Entering the loop ");
String count = ((OracleResultSet)rset).getString(1);
BLOB blob = ((OracleResultSet)rset).getBLOB(2);
outFile = new FileOutputStream("vaf.jpg");
//get ready to accept binary file
int chunk = blob.getChunkSize();
System.out.print("The chunk size is " + chunk);
byte buffer[]= new byte[chunk];
int length;
InputStream instream = blob.getBinaryStream();
// Fetch data
while ((length = instream.read(buffer)) != -1) {
outFile.write(buffer, 0, length);
outFile.close();Hi Pal...
Do something like this....
//assuming that you go the connection and PreparedStatement
String sQuery = "select picture_column from picture_table
where picture_id='photo1'";
pstmt = dbConnection.prepareStatement(sQuery);
rs = pstmt.executeQuery();
if(rs.next())
InputStream in= rs.getBinaryStream(1);
//assuming you are saving the picture on root directry of drive D
FileOutputStream FOS =new FileOutputStream("d:\\photo1.jpg");
int iChunk;
while((iChunk = in.read()) != -1)
FOS.write(iChunk);
FOS.flush();
FOS.close();
in.close();
That should work and you have to catch the nesesory SqlExceptions and IOExceptions -
Diplaying of ordsys.ordimage field in a Report based on Query
Hi,
I have a table with a ordsys.ordimage field, where I am uploading images. I created a custom report based on that table but I just cant seem to find a way to show images in it. Could anyone please tell me how to do this.
I tried using this
"portal30.wwv_user_utilities.get_intermedia('CP_IMAGE01','CP_IMAGE01','IMAGE',rowid) the_picture " but this does not help at all
Thanks!
vimpiHello Prajwal,
It is definely possible !!
If you have already created your query pls paste the same here so that I can help you otherwise. I will give you a general guidelines and you can take it from there..
Using the CASE Statement inside your SELECT you can achieve this.
SELECT T1.ItemCode AS 'Item No.', T1.ItemName AS 'Item Description',
CASE WHEN T1.QryGroup1 = 'N' THEN T0.Price ELSE 0 END 'List Price'
FROM [dbo].[ITM1] T0 INNER JOIN [dbo].[OITM] T1 ON T1.ItemCode = T0.ItemCode WHERE T0.PriceList = 1 -
Hi Guys
Have a bit of a problem here
I have a ordsys.ordimage columns in my DB
i use a adf:render on the column
to display it on the jsp
now the problem is i have there images that will display on the jsp ... it displays the images but what it does is display the first pic three times.....
here is a section from the view source on the page
<IMG SRC="ordDeliverMedia?appModID=FeatPropModuleDataControl&viewObjectName=FeatPropModule.FeatEstView&contentCol=FeaturePic&rowKey=000000000001000000FED41C6F1E&cache=1094297776000" ALT="FeaturePic" HEIGHT="166" WIDTH="250">
<IMG SRC="ordDeliverMedia?appModID=FeatPropModuleDataControl&viewObjectName=FeatPropModule.FeatEstView&contentCol=FeaturePic&rowKey=000000000002000000FED41C6F1E&cache=1094479865000" ALT="FeaturePic" HEIGHT="166" WIDTH="250">
<IMG SRC="ordDeliverMedia?appModID=FeatPropModuleDataControl&viewObjectName=FeatPropModule.FeatEstView&contentCol=FeaturePic&rowKey=000000000003000000FED41C6F1E&cache=1094479936000" ALT="FeaturePic" HEIGHT="166" WIDTH="242">
So i does get the diff RowKeyStr
here is the JSP before display
<c:forEach var="Row" items="${bindings.FeatEstView.rangeSet}">
<tr>
<td>
</td>
<td>
<c:out value="${Row['EstId']}"/>
</td>
<td>
<c:out value="${Row['PropCode']}"/>
</td>
<td>
<adf:render model="Row.FeaturePic" />
</td>
</tr>
</c:forEach>
Please if anyone can help me.
ThanksI cobbled together a little app that lets me upload a
text file and an image icon to a single database
table. I posted the (not commented, but no custom
code was required to build it!) quick-and-dirty
sample here:
http://otn.oracle.com/products/jdev/tips/muench/upload
text/UploadTextFile.zipHi,
Any example on how to use this stuff in one ADF Rich Faces .jspx page ?
I do not want to write my own "image-serving-servlet" in order to show image in the af:image - OrdImageDomain is exactly what I need, but don't know how to use this in one ADF Faces page...
Maybe you are looking for
-
Question on interactive report
hello sir in interactive report in output we click on customer feild it open a secandary list. it display a data.if customer is not having any order,then it show some message. tell me how i wil do it
-
Able to drag drop items of combobox but want to disable 1st item
Hello Sir, I am able to drag drop elements of the combobox. Here is my code... <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" xmlns:local="*" xmlns:utils="adobe.utils.*" xmlns:contro
-
Installation of PS CS6 Ext. Student & Teacher Ed on a second computer
I purchased Photoshop CS6 Extended Student & Teacher Edition and downloaded it to my computer last year. Since then I have purchased a new computer and want to install it on that. When I go to my Adobe account I see PS CS6 listed as my product, but
-
Your website is showing the weekly deals from last week still?
When will the new one be available?
-
Dep. area and table T093A
I want to know which setting can modify table T093A, there is field called Identy acq. value, i want to remove check indicator for one of my depreciation area, but i try OADB, OADC, there is nothing to do with table T093A, so anyone knows the Confi