Rea a blob from FROM A URL
We use Note 294780.1
(https://metalink.oracle.com/metalink/plsql/ml2_documents.showDocument?p_databa
s
e_id=NOT&p_id=294780.1) to read a blob from a url.
When I try with a file size about 260 kb's caught in this error:
ORA-06502: PL/SQL: numeric or value error: raw variable length too long
ORA-06512: at "SYS.UTL_RAW", line 210
Is there anyway to work with a greater file size ?
Thanks in advance
Hi Eliot,
Check out this article: http://rorohiko.blogspot.com/2008_07_01_archive.html. The example that comes with it shows how to load a few pictures from web into an InDesign document. Probably you can use the same approach to load an XML- file as well.
Kasyan
Similar Messages
-
Inserting Image into BLOB field from URL
Is it possible to insert an image into a BLOB field from a URL? I don't have access to the filesystem on the server and I have a page that uses PL/PDF to generate dynamic PDF files from data I pull from the database. I would like to include my companies official header with logo on the top of the PDFs I generate and need to somehow get the image which I currently have uploaded to the images section in Application Express and can access from the "Shared Components => Images" section of the Application Builder. I just want to be able to either query whatever table holds those images or copy the image I need to a blob field in one of my tables so I can use it in my PDF document.
The other alternative (which is what I first mentioned above) would be to try and perform an insert into the BLOB field in my table but the location of the image file would be like "http://www.myportal.com:7777/pls/htmldb/wwv_flow_file_mgr.get_file?p_security_group_id=1234567&p_flow_id=111&p_fname=myimage.jpg".
Is this possible? If not, what can I do?
Thanks in advance.The reason why I am asking this question in this forum is two-fold:
1. I am using Application Express (AE).
2. Since I am using AE all images that I upload to my workspace are stored in a table in a database and not as an actual file in a directory structure like in Windows etc. This being the case, I can't ever reference any of the files that I upload to my workspace in order to insert them into my BLOB field unless I know their physical location on disk (which of course does not exist b/c they are stored in the AE database somewhere). If I knew AE's database and table structure I could do a "select into ..." from whatever table stores my uploaded images and save those images to my own custom table in my BLOB field. -
my env:
Database R11_2 on one windows-host-machine
AS 10 g on another windows-host-machine
I can show files in Forms10g from inside the AS with web.show_document,
that works fine
but now I want to show a ( pdf or text ) File from a BLOB in a Table inside in the Database
to the Browser running in Forms on AS,
I do not want to create a extra Form for this reason, but want to show it in browser - windows
( how ) can I use web.show_document against a URL on the Database R11 ?
what other tool , java ?
regardsEasiest way is probably to use mod_plsql and wpg_docload.download_file. If you retrieve the blob content from some table, than you can show it with a generic procedure like:
procedure show_webdoc(io_blob in out nocopy blob
,i_mimetype in varchar2
,i_filename in varchar2)
is
begin
if dbms_lob.getlength(io_blob) >0 then
owa_util.mime_header(nvl(i_mimetype,'application/octet'),false);
htp.p('Content-length: ' || dbms_lob.getlength(io_blob));
htp.p('Content-Disposition: attachment; filename="'||i_filename|| '"');
owa_util.http_header_close;
wpg_docload.download_file(io_blob);
end if;
end show_webdoc; -
BLOB download from report region in translated application does not work
We created an application (APEX 3.1.2) with a base language dutch (300) and a translated application en-uk (3001). The problem is that in the translated application downloading BLOB's from a report region does not work and results in an error (page cannot be found).
The query source for the region is:
select naam
, dbms_lob.getlength(bestand)
, mimetype
from bos_documentatie
The column 'dbms_lob.getlength(filename)' is defined as a 'BLOB Download Format Mask' with the following setting:
DOWNLOAD:BOS_DOCUMENTATIE:BESTAND:NAAM::MIMETYPE:FILENAME:::attachment:Open
The URL's to the BLOB documents are different between the dutch and en-uk application:
dutch:
http://nldvnr01ux002:7792/pls/xvapexd/apex_util.get_blob?s=4260101889649158&a=300&c=12455124581749125&p=1001&k1=Application Multi Language.doc&k2=&ck=A24A5EA6903C5A9603B86D30F128F4DE&rt=CR
en-uk:
http://nldvnr01ux002:7792/pls/xvapexd/apex_util.get_blob?s=4260101889649158&a=300&c=12455124581749125.3001&p=1001&k1=Application Multi Language.doc&k2=&ck=7FF0C64FDD48A4D7A6892CFB2B6BCA57&rt=CR
As you can see the c parameter for the en-uk version has a '.3001' at the end, the internal ID of the translated application. I don't know if this can be the cause of the problem?Hi Peter,
Thanks for the suggestion. However we have a lot of APEX applications build in that same APEX version (one development database) and upgrading now to a higher APEX version would mean we would have to re-test all our applications and upgrade all our test and production environments, just for this bug. And, maybe the higher APEX version may not solve our problem.
Thanks and regards,
Patrick -
Hello fellow-users of Mozilla Firefox,
I send email ads using 20 different safelists every day. To get credits for sending those ads I click email ads sent by other subscribers.
Since early this year I've been using Click Earner -- http://www.clickearner.net/ -- to help speed up this task. Click Earner "fetched"
the emails from each safelist and opened each URL advertised in each email. This was a very quick job and all I did was close each tab
displaying the URL. Credits for clicking the URL were added to my safelists accounts.
Since a week ago, without me doing anything at all, my Click Earner stopped opening the emails automatically as was the case for
several months since I started using it. Click Earner support claimed Firefox prevented the program from opening the URL in a new tab each time it fetched an email ad. True enough, yesterday when I watched Click Earner in action I saw a pop-up from Firefox saying something like "Firefox prevented..." I couldn't read the rest as the pop-up disappeared immediately. And that was the only
time I saw it.
Right now I have to open each URL manually to see the ad and earn credits. This is a very slow process, just the same as when I open the emails in my gmail account. It's useless for me to subscribe to Click Earner. And it takes forever for me to earn credits from all the safelists.
I'd appreciate it very much if any one of you folks would help me overcome this glitch. I look forward to hearing from you and thank you very much in anticipation.
Regards,
Tom GracianoYou could try turning off Firefox's pop-up blocker.
"3-bar" menu button (or Tools menu) > Options > Content
There you will find a checkbox for "Block pop-up windows". Assuming it's checked, uncheck it.
Does that return to the behavior you want? -
Transaction Launcher : How to get return parameters from an external URL
Hello,
We need to launch an external URL in the Web Client UI. After the URL is launched, the user does some processing which results in some output values. These value have to be passed back to the Web Client UI and become a part of the quotation he is creating.
We are able to launch the URL using the Transaction Launcher. But we are not able to find a way to get the output values from the external URL to the Web client UI.
Please suggest any approach for this. It is OK even if we need to use an intermediate BSP to launch the external URL.
Regards
Ajayhi ajay
I had a similar requirement , when the user clicks on button I want to launch the External URL , can you please let me know how to launch the external url when the user cliks on button
Thanks & Regards
madhu -
How can I stop safari from auto completing url's on my iphone 4 and ipad2?
How can I stop safari from auto completing url's on my iphone 4 and ipad2? On both devices I have cleared history, I have gone into settings-safari-and cleared history and cleared cookies & data, tried turning my devices on and off and I also have private browsing turned on. Both devices are operating on iOS 5. When I type in a url I don't want anything to show and auto complete. Any suggestions?
This indicates corrupt files.
A restore should resolve. -
How to Copy (or) Transfer data in a BLOB Table From one database to another
Dear Members,
I want to Copy or Tranfer the data in a Table having BLOB Column from one database to another database.
The Problem is that I am using COPY Command.
COPY from scott/[email protected] to k5esk_ldb2/k5esk_ldb2@k5_ist.world CREATE BLOB_TABLE using select * from BLOB_TABLE;
This is working only if the table is not having BLOB Column or CLOB columns.
Is there any other way to do the same.
Appreciate any Help.
Regards
Madhu KYou could try using export/import utilities, but may run into tablespace issues if the tablespaces are not the same between the two databases. You can also try Data Pump using the REMAP_TABLESPACE variable if you tablespaces are different. You could also write your own export and import code...there are plenty of examples of that to copy.
-
I can't import a table contains BLOB column from one user to another user.
1) I create two user both have connect role,and each has its own tablespace, DDL:
create user d2zd identified by d2zd default tablespace d2zd quota unlimited on d2zd account unlock;
grant connect to d2zd;
create user d3zd identified by d3zd default tablespace d3zd quota unlimited on d3zd account unlock;
grant connect to d3zd;
2)Then enter oracle as d2zd and create a table contains BLOB column and insert data to the table.
3) export d2zd as follow:
exp d2zd/d2zd file=d2zd.dmp
4) import to d3zd as follow:
imp d3zd/d3zd fromuser=d2zd touser=d3zd file=d2zd.dmp
the question is the table with BOLB colum can't be import,
it says:have no privilege on tablespace d2zd.
How can I import a table contains BLOB column from one user to another user?Hi - the reason for as our friend already told ist that a blob can be stored outside of the table segment, in another Tablespace, This is for performance reason.
Sou you would need to have Quota on two tablespaces.
the one which holds the table segment the other which holds the blob(segment).
Regards
Carl
Message was edited by:
kreitsch -
Downloading blob content from a custom table
In our hosted Apex application, the following code from the Application Express Developer's Guide works great for allowing a user to download blob content from one of our custom tables via a download button. However, the code doesn't work on the Oracle Cloud because the "owa_util" package is no longer available. The code is as follows:
CREATE OR REPLACE PROCEDURE download_my_file(p_file in number) AS
v_mime VARCHAR2(48);
v_length NUMBER;
v_file_name VARCHAR2(2000);
Lob_loc BLOB;
BEGIN
SELECT MIME_TYPE, BLOB_CONTENT, name,DBMS_LOB.GETLENGTH(blob_content)
INTO v_mime,lob_loc,v_file_name,v_length
FROM file_subjects
WHERE id = p_file;
-- set up HTTP header
-- use an NVL around the mime type and
-- if it is a null set it to application/octect
-- application/octect may launch a download window from windows
owa_util.mime_header( nvl(v_mime,'application/octet'), FALSE );
-- set the size so the browser knows how much to download
htp.p('Content-length: ' || v_length);
-- the filename will be used by the browser if the users does a save as
htp.p('Content-Disposition: attachment; filename="'||replace(replace(substr(v_file_name,instr(v_file_name,'/')+1),chr(10),null),chr(13),null)|| '"');
-- close the headers
owa_util.http_header_close;
-- download the BLOB
wpg_docload.download_file( Lob_loc );
end download_my_file;
Besides using web services, does anyone know of a way to do this? Is there a way to add access to the "owa_util" package in the cloud? I have also tried apex_util.get_blob_file_src but that is also unavailable in the Oracle Cloud.
Thanks,
SteveFollowing Joel's advice:
The way I solved this was to split the code between two page processes and one application process. The download button first calls a page process to move the report data into a blob column and then calls another page process which is of "run application process" type. This calls the application level process where the download code, shown below, is called.
Notice the following changes to the code from the one posted earlier (also from Joel)
1) added sys.htp.init;
2) "sys." to all htp, owa and wpg_docload calls
3) added apex_application.stop_apex_engine; after the wpg_docload statement at the bottom of the script.
Now the download button launches a "save as" dialog box and the report content is downloaded to the client.
The code now looks like:
CREATE OR REPLACE PROCEDURE download_my_file(p_file in number) AS
v_mime VARCHAR2(48);
v_length NUMBER;
v_file_name VARCHAR2(2000);
Lob_loc BLOB;
BEGIN
SELECT MIME_TYPE, BLOB_CONTENT, name,DBMS_LOB.GETLENGTH(blob_content)
INTO v_mime,lob_loc,v_file_name,v_length
FROM oehr_file_subject
WHERE id = p_file;
-- set up HTTP header
-- use an NVL around the mime type and
-- if it is a null set it to application/octect
-- application/octect may launch a download window from windows
sys.htp.init;
sys.owa_util.mime_header( nvl(v_mime,'application/octet'), FALSE );
-- set the size so the browser knows how much to download
sys.htp.p('Content-length: ' || v_length);
-- the filename will be used by the browser if the users does a save as
sys. htp.p('Content-Disposition: attachment; filename="'||replace(replace(substr(v_file_name,instr(v_file_name,'/')+1),chr(10),null),chr(13),null)|| '"');
-- close the headers
sys.owa_util.http_header_close;
-- download the BLOB
sys.wpg_docload.download_file( Lob_loc );
apex_application.stop_apex_engine;
end download_my_file;
Thanks Joel for your help.
Steve -
To see the content of a BLOB column from sqlplus
Hi,
I have a table which has a BLOB column.
The blobs are text files.
Is there a way to check the content of blob column from sqlplus itself.
Thanks.There's no information about versin of database
If you're using 11g, then refer to this link:
http://dbathoughts.blogspot.com/2008/05/blob-support-in-sqlplus.html
If you're using 10g, then refer to this link
http://www.experts-exchange.com/Database/Oracle/Q_20419597.html
Kamran Agayev A. (10g OCP)
http://kamranagayev.wordpress.com -
How to upload a file into a db blob column from adf page
How to upload a file into a db blob column from adf page
Which option to use ?The forum search would be my first try...
Then google...
This has been asked at least once a week and got correct answers...
Timo -
Write blob data from database to unix server
Hi all,
I need to send the attachment file into the mail. I have a header form in which I have implemented Download/Upload functionality using Apex user guide. When ever a user fill all the entries and submit the form then some field information along with attachment I need to send to the user.
I mean when ever user hit the submit button it should take blob data from my custom table tmp_downlod_files and send to the user as an attachment.
I have searched the post and got lot information but not able to get succeed.
I have implemented java stored procedure for sending automatic mail when user is submitting the form but what I need is to take blob content from database and send as an attachment.
1: So I need to write blob content from custom table to unix server in some location and from there I need to attach that file.
2: the java store which I have implemented for sending automatic mail is working and one argument is attachment which I am passing null for now. So mail is working how to write the file from database to unix server and send as an attachment.
What I did for writing file from database to unix server:
1:
CREATE OR REPLACE PROCEDURE trx_blob_to_file (l_header_id IN NUMBER)
IS
BEGIN
FOR rec_picture IN (SELECT ID
FROM TMP.tpx_download_files
WHERE header_id = l_header_id
AND mime_type LIKE ('image' || '%'))
LOOP
DECLARE
l_out_file UTL_FILE.file_type;
l_buffer RAW (32767);
l_amount BINARY_INTEGER := 32767;
l_pos INTEGER := 1;
l_blob_len INTEGER;
p_data BLOB;
file_name VARCHAR2 (256);
BEGIN
SELECT blob_content, filename
INTO p_data, file_name
FROM tpx_download_files
WHERE ID = rec_picture.ID;
l_blob_len := DBMS_LOB.getlength (p_data);
l_out_file :=
UTL_FILE.fopen ('/home/oracle/interfaces/out/upld',
file_name,
'wb',
32767
WHILE l_pos < l_blob_len
LOOP
DBMS_LOB.READ (p_data, l_amount, l_pos, l_buffer);
IF l_buffer IS NOT NULL
THEN
UTL_FILE.put_raw (l_out_file, l_buffer, TRUE);
END IF;
l_pos := l_pos + l_amount;
END LOOP;
UTL_FILE.fclose (l_out_file);
EXCEPTION
WHEN OTHERS
THEN
IF UTL_FILE.is_open (l_out_file)
THEN
UTL_FILE.fclose (l_out_file);
END IF;
END;
END LOOP;
END;
2: I have written a PL/SQL process and calling the above procedure on SUBMIT:
DECLARE
l_header_id NUMBER;
l_filename VARCHAR2 (200);
BEGIN
SELECT header_id, filename
INTO l_header_id, l_filename
FROM tpx_download_files
WHERE header_id = :p35_sr_header_id;
trx_blob_to_file (l_header_id);
END;
But it is not writing the file from database to unix server.
If I can get how to make working to write file from database to unix server then I will hopefully can send an attachment.
3; I have given
GRANT EXECUTE ON TPX_BLOB_TO_FILE TO PUBLIC.
And
GRANT EXECUTE ON UTL_FILE TO PUBLIC.
Where I am doing wroung can anyone guide me or any other approach is appreciated.
I am already late so I need soon. Please help.Hi all,
I need to send the attachment file into the mail. I have a header form in which I have implemented Download/Upload functionality using Apex user guide. When ever a user fill all the entries and submit the form then some field information along with attachment I need to send to the user.
I mean when ever user hit the submit button it should take blob data from my custom table tmp_downlod_files and send to the user as an attachment.
I have searched the post and got lot information but not able to get succeed.
I have implemented java stored procedure for sending automatic mail when user is submitting the form but what I need is to take blob content from database and send as an attachment.
1: So I need to write blob content from custom table to unix server in some location and from there I need to attach that file.
2: the java store which I have implemented for sending automatic mail is working and one argument is attachment which I am passing null for now. So mail is working how to write the file from database to unix server and send as an attachment.
What I did for writing file from database to unix server:
1:
CREATE OR REPLACE PROCEDURE trx_blob_to_file (l_header_id IN NUMBER)
IS
BEGIN
FOR rec_picture IN (SELECT ID
FROM TMP.tpx_download_files
WHERE header_id = l_header_id
AND mime_type LIKE ('image' || '%'))
LOOP
DECLARE
l_out_file UTL_FILE.file_type;
l_buffer RAW (32767);
l_amount BINARY_INTEGER := 32767;
l_pos INTEGER := 1;
l_blob_len INTEGER;
p_data BLOB;
file_name VARCHAR2 (256);
BEGIN
SELECT blob_content, filename
INTO p_data, file_name
FROM tpx_download_files
WHERE ID = rec_picture.ID;
l_blob_len := DBMS_LOB.getlength (p_data);
l_out_file :=
UTL_FILE.fopen ('/home/oracle/interfaces/out/upld',
file_name,
'wb',
32767
WHILE l_pos < l_blob_len
LOOP
DBMS_LOB.READ (p_data, l_amount, l_pos, l_buffer);
IF l_buffer IS NOT NULL
THEN
UTL_FILE.put_raw (l_out_file, l_buffer, TRUE);
END IF;
l_pos := l_pos + l_amount;
END LOOP;
UTL_FILE.fclose (l_out_file);
EXCEPTION
WHEN OTHERS
THEN
IF UTL_FILE.is_open (l_out_file)
THEN
UTL_FILE.fclose (l_out_file);
END IF;
END;
END LOOP;
END;
2: I have written a PL/SQL process and calling the above procedure on SUBMIT:
DECLARE
l_header_id NUMBER;
l_filename VARCHAR2 (200);
BEGIN
SELECT header_id, filename
INTO l_header_id, l_filename
FROM tpx_download_files
WHERE header_id = :p35_sr_header_id;
trx_blob_to_file (l_header_id);
END;
But it is not writing the file from database to unix server.
If I can get how to make working to write file from database to unix server then I will hopefully can send an attachment.
3; I have given
GRANT EXECUTE ON TPX_BLOB_TO_FILE TO PUBLIC.
And
GRANT EXECUTE ON UTL_FILE TO PUBLIC.
Where I am doing wroung can anyone guide me or any other approach is appreciated.
I am already late so I need soon. Please help. -
Stuck threads reading blob column from db table
WLS 10.3.5, JDK 1.6u29, Oracle 11g RAC, ojdbc6 latest driver
We're having problems with stuck threads trying to read a blob column from a DB table. The query to extract the blob is a simple select, without any locking such as "for update" clauses or whatever. The blob's size is <= 100k.
The thread dump shows the following stack trace:
+"[STUCK] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'" RUNNABLE native+
+ java.net.SocketInputStream.socketRead0(Native Method)+
+ java.net.SocketInputStream.read(SocketInputStream.java:129)+
+ oracle.net.ns.Packet.receive(Packet.java:300)+
+ oracle.net.ns.DataPacket.receive(DataPacket.java:106)+
+ oracle.net.ns.NetInputStream.getNextPacket(NetInputStream.java:315)+
+ oracle.net.ns.NetInputStream.read(NetInputStream.java:260)+
+ oracle.jdbc.driver.T4CSocketInputStreamWrapper.read(T4CSocketInputStreamWrapper.java:105)+
+ oracle.jdbc.driver.T4CMAREngine.getNBytes(T4CMAREngine.java:1517)+
+ oracle.jdbc.driver.T4C8TTILobd.unmarshalLobData(T4C8TTILobd.java:476)+
+ oracle.jdbc.driver.T4C8TTILob.readLOBD(T4C8TTILob.java:770)+
+ oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:361)+
+ oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:192)+
+ oracle.jdbc.driver.T4C8TTILob.read(T4C8TTILob.java:146)+
+ oracle.jdbc.driver.T4CConnection.getBytes(T4CConnection.java:2392)+
+ oracle.sql.BLOB.getBytes(BLOB.java:348)+
+ oracle.sql.BLOB.getBytes(BLOB.java:222)+
+ weblogic.jdbc.wrapper.Blob_oracle_sql_BLOB.getBytes(Unknown Source)+
+ com.ibatis.sqlmap.engine.type.BlobTypeHandlerCallback.getResult(BlobTypeHandlerCallback.java:33)+
+ com.ibatis.sqlmap.engine.type.CustomTypeHandler.getResult(CustomTypeHandler.java:52)+
+ com.ibatis.sqlmap.engine.mapping.result.ResultMap.getPrimitiveResultMappingValue(ResultMap.java:619)+
+ com.ibatis.sqlmap.engine.mapping.result.ResultMap.getResults(ResultMap.java:345)+
+ com.ibatis.sqlmap.engine.execution.SqlExecutor.handleResults(SqlExecutor.java:384)+
+ com.ibatis.sqlmap.engine.execution.SqlExecutor.handleMultipleResults(SqlExecutor.java:300)+
+ com.ibatis.sqlmap.engine.execution.SqlExecutor.executeQuery(SqlExecutor.java:189)+
+ com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.sqlExecuteQuery(MappedStatement.java:221)+
+ com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeQueryWithCallback(MappedStatement.java:189)+
+ com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeQueryForList(MappedStatement.java:139)+
+ com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:567)+
+ com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:541)+
+ com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForList(SqlMapSessionImpl.java:118)+
+ com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.queryForList(SqlMapClientImpl.java:94)+
+ com.ibatis.dao.client.template.SqlMapDaoTemplate.queryForList(SqlMapDaoTemplate.java:282)"[STUCK] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'" RUNNABLE native+
+ java.net.SocketInputStream.socketRead0(Native Method)+
+ java.net.SocketInputStream.read(SocketInputStream.java:129)+
+ oracle.net.ns.Packet.receive(Packet.java:300)+
+ oracle.net.ns.DataPacket.receive(DataPacket.java:106)+
+ oracle.net.ns.NetInputStream.getNextPacket(NetInputStream.java:315)+
+ oracle.net.ns.NetInputStream.read(NetInputStream.java:260)+
+ oracle.jdbc.driver.T4CSocketInputStreamWrapper.read(T4CSocketInputStreamWrapper.java:105)+
+ oracle.jdbc.driver.T4CMAREngine.getNBytes(T4CMAREngine.java:1517)+
+ oracle.jdbc.driver.T4C8TTILobd.unmarshalLobData(T4C8TTILobd.java:476)+
+ oracle.jdbc.driver.T4C8TTILob.readLOBD(T4C8TTILob.java:770)+
+ oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:361)+
+ oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:192)+
+ oracle.jdbc.driver.T4C8TTILob.read(T4C8TTILob.java:146)+
+ oracle.jdbc.driver.T4CConnection.getBytes(T4CConnection.java:2392)+
+ oracle.sql.BLOB.getBytes(BLOB.java:348)+
+ oracle.sql.BLOB.getBytes(BLOB.java:222)+
+ weblogic.jdbc.wrapper.Blob_oracle_sql_BLOB.getBytes(Unknown Source)+
+ com.ibatis.sqlmap.engine.type.BlobTypeHandlerCallback.getResult(BlobTypeHandlerCallback.java:33)+
+ com.ibatis.sqlmap.engine.type.CustomTypeHandler.getResult(CustomTypeHandler.java:52)+
+ com.ibatis.sqlmap.engine.mapping.result.ResultMap.getPrimitiveResultMappingValue(ResultMap.java:619)+
+ com.ibatis.sqlmap.engine.mapping.result.ResultMap.getResults(ResultMap.java:345)+
+ com.ibatis.sqlmap.engine.execution.SqlExecutor.handleResults(SqlExecutor.java:384)+
+ com.ibatis.sqlmap.engine.execution.SqlExecutor.handleMultipleResults(SqlExecutor.java:300)+
+ com.ibatis.sqlmap.engine.execution.SqlExecutor.executeQuery(SqlExecutor.java:189)+
+ com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.sqlExecuteQuery(MappedStatement.java:221)+
com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeQueryWithCallback(MappedStatement.java:189)
+ com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeQueryForList(MappedStatement.java:139)+
+ com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:567)+
+ com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:541)+
+ com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForList(SqlMapSessionImpl.java:118)+
+ com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.queryForList(SqlMapClientImpl.java:94)+
+ com.ibatis.dao.client.template.SqlMapDaoTemplate.queryForList(SqlMapDaoTemplate.java:282)+
Some threads eventually end (after 1-2 hours), most of them remain there for days.
Any hint would be quite useful, thanks.Threads are executing the actual allocated request from the Weblogic Kernel. Most of the problems happen when the Thread execution is reaching the application or business layer.
At this point your application Java code module is sending or receiving data from external sources such as a an Oracle database for example. Any problem with such external system will cause the Thread to hang and wait for data to come back.
Other situations can occur such as internal deadlock, infinite looping, heavy IO contention on your server etc.
Doesn't loo like a driver issue.
http://docs.oracle.com/cd/E21764_01/doc.1111/e14770/weblogic_server_issues.htm#autoId2
Check at the Database end
Cheers ... -
Error when reading BLOB field from Oracle usin Toplink
We experience a very annoying problem when trying to read a BLOB
field from Oracle 8.1.6.2.0 using TOPLink 3.6.3. I have attached the
exception stack trace that is reported to the console. As far as I can
judge a fault at oracle.sql.LobPlsqlUtil.plsql_length() happens first and
then at TOPLink.Private.DatabaseAccess.DatabasePlatform.convertObject().
The exception is permanently repeating that is very critical for us.
ServerSession(929808)--Connection(5625701)--SELECT LOBBODY, ID, LABEL, FK_OBJECT_ID, FK_OBJECTTYPE FROM NOTE WHERE (ID = 80020)
INTERNAL EXCEPTION STACK:
java.lang.NullPointerException
at oracle.sql.LobPlsqlUtil.plsql_length(LobPlsqlUtil.java:936)
at oracle.sql.LobPlsqlUtil.plsql_length(LobPlsqlUtil.java:102)
at oracle.jdbc.dbaccess.DBAccess.lobLength(DBAccess.java:709)
at oracle.sql.LobDBAccessImpl.length(LobDBAccessImpl.java:58)
at oracle.sql.BLOB.length(BLOB.java:71)
at TOPLink.Private.Helper.ConversionManager.convertObjectToByteArray(ConversionManager.java:309)
at TOPLink.Private.Helper.ConversionManager.convertObject(ConversionManager.java:166)
at TOPLink.Private.DatabaseAccess.DatabasePlatform.convertObject(DatabasePlatform.java:594)
at TOPLink.Public.Mappings.SerializedObjectMapping.getAttributeValue(SerializedObjectMapping.java:43)
at TOPLink.Public.Mappings.DirectToFieldMapping.valueFromRow(DirectToFieldMapping.java:490)
at TOPLink.Public.Mappings.DatabaseMapping.readFromRowIntoObject(DatabaseMapping.java:808)
at TOPLink.Private.Descriptors.ObjectBuilder.buildAttributesIntoObject(ObjectBuilder.java:173)
at TOPLink.Private.Descriptors.ObjectBuilder.buildObject(ObjectBuilder.java:325)
at TOPLink.Private.Descriptors.ObjectBuilder.buildObjectsInto(ObjectBuilder.java:373)
at TOPLink.Public.QueryFramework.ReadAllQuery.execute(ReadAllQuery.java:366)
at TOPLink.Public.QueryFramework.DatabaseQuery.execute(DatabaseQuery.java:406)
I have started the application with Oracle JDBC logging on and found that the problem may originate in a possible lack of syncronization in the pooled connection implementation:
DRVR FUNC OracleConnection.isClosed() returned false
DRVR OPER OracleConnection.close()
DRVR FUNC OracleConnection.prepareCall(sql)
DRVR DBG1 SQL: "begin ? := dbms_lob.getLength (?); end;"
DRVR FUNC DBError.throwSqlException(errNum=73, obj=null)
DRVR FUNC DBError.findMessage(errNum=73, obj=null)
DRVR FUNC DBError.throwSqlException(reason="Logical handle no longer valid",
SQLState=null, vendorCode=17073)
DRVR OPER OracleConnection.close()
so the prepareCall() is issued against an already closed connection and the
call fails.
I assume we have been using a JDBC 2.0 compliant driver. We tried out
drivers that Oracle supplies for 8.1.6, 8.1.7 versions. To be true I
couldn't find any information about the JDBC specification they conform to. Does it
mean that these drivers may not be 100%-compatible with JDBC 2.0 Spec?
How can I find out if they are 2.0 compliant?
Also I have downloaded Oracle 9.2.0.1 JDBC drivers. This seemed to work
fine until we found another incompatibility which made us return back to
8.1.7 driver:
UnitOfWork(7818028)--Connection(4434104)--INSERT INTO STATUSHISTORY (CHANGEDATE, FK_SET_STATUS_ID) VALUES ({ts '2002-10-17 16:46:54.529'}, 2)
INTERNAL EXCEPTION STACK:
java.sql.SQLException: ORA-00904: invalid column name
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289)
at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:573)
at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1891)
at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:1093
at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.jav
a:2047)
at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java
:1940)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatemen
t.java:2709)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePrepare
dStatement.java:589)
at TOPLink.Private.DatabaseAccess.DatabaseAccessor.executeDirectNoSelect(
DatabaseAccessor.java:906)
at TOPLink.Private.DatabaseAccess.DatabaseAccessor.executeNoSelect(Databa
seAccessor.java:960)
at TOPLink.Private.DatabaseAccess.DatabaseAccessor.executeCall(DatabaseAc
cessor.java:819)
at TOPLink.Public.PublicInterface.UnitOfWork.executeCall(UnitOfWork.java:Hello Yury,
I believe the problem is that TopLink's ServerSession by default executes read queries concurrently on the same connection. It does this to reduce the number of required connections for the read connection pool. Normally this is a good concurrency optimization, however some JDBC drivers have issues when this is done. I had thought that with Oracle JDBC 8.1.7 this issue no longer occurred, but perhaps it is only after version 9. I believe that the errors were only with the thin JDBC driver, not the OCI, so using the OCI driver should also resolve the problem. Using RAW instead of BLOB would also work.
You can configure TopLink to resolve this problem through using exclusive read connection pooling.
Example:
serverSession.useExclusiveReadConnectionPool(int minNumerOfConnections, int maxNumerOfConnections);
This will ensure that TopLink does not to try to concurrently execute read queries on the same connection.
I'm not exactly sure what your second problem with the 9.x JDBC drivers is. From the SQL and stack trace it would seem that the driver does not like the JDBC timestamp syntax. You can have TopLink print timestamp in Oracle's native SQL format to resolve this problem.
Example:
serverSessoin.getLogin().useNativeSQL();
Make sure you configure your server session before you login, or if using the TopLink Session Manager perform the customizations through a SessionEventListener-preLogin event. -
Webservice from WSDL - Endpoint URL unchanged
Hi all,
I'm following the JDeveloper tutorial here....
http://www.oracle.com/technology/products/jdev/11/cuecards111/j2ee_set_17/ccset17_ALL.html
...in this the endpoint URL is left as http://www.example.com - this gets transformed into....
http://localhost:7101/ServiceFromWsdl-Project1-context-root/RatingServicePort
...I believe at the point the webservice is generated from the WSDL.
I have a couple of questions....
1. Where does it get the localhost & 7101 from - at the point of generating the webservice how does it know where I want to deploy it ?
2. When I generate my webservice from WSDL my URL is left unchanged - it deploys ok to my SOAServer (not the JDeveloper integrated one) but not with the endpoint I used in the WSDL - how do I find this endpoint ?
Thanks
MarkFOK, I managed to find the endpoint by hacking a few bits of information together....I assumed the port number because I knew the HTTP port number for my SOAServer, the context root is displayed in the deployment log, I then tagged on the Port Name from my WSDL .... et voila !
Still begs the questions....
1. Is it supposed to overwrite the URL in my original WSDL ?
2. Is there no easier way of finding out the endpoint for a deployed WS ?
Thanks
MarkPF
Maybe you are looking for
-
My MBA does not start up from sleep
My MBA 13" mid 2013 (Mavericks) does not start up from sleep at times, or at least is very slow (1-2minutes) As far as i remeber the only thing installed fairly resent is Virual Box. It does connect to my iPhone when its connected to via USB but the
-
I want to remove greasemonkey add-on. How do I do that?
I want to remove greeasemonkey add0on
-
Acrobat always saves eps Files with only 150ppi
Hello Community, i have a problem with Acrobat and EPS files. Ive searched the whole forum and tried alot but cant figure out how to get it to work. So the problem is, that i have PDF files that i want to save as EPS files. The PDF-Files are saved as
-
Party shuffle and general shuffle doesn't work
I don't quite understand. I select a playlist to shuffle within party shuffle to listen to while I program software at work. Often, I will hear the same song over again within an hour. This playlist has 659 songs with an average length of about 4-5 m
-
Recommendations - books and tutorials on advanced features.
Dear members: While reading a few books on presentations over the weekend I became quite interested in using some advanced features and animations to enhance my presentations. The books I've read mention these advanced animations but do not give the