1. Problem:
-----------------
Client/Server mode using OLE2 to read in a MS Word document will work as long
as the output is sent to the previewer but will not work if DESTYPE is set to
file. That is, an OLE object embedded in the report will display as an empty
box or nothing at all when the report is generated to a PDF, HTML, or RTF file.
Solution:
-------------
This is because RTF, HTML and PDF formats do not support OLE.
References:
Bug:993753 is a documentation bug filed on this issue
Bug:674287 WORD-OLE OBJECTS ARE LOST IN RTF, HTML AND PDF FILES.
On-Line Docs for HTML/PDF restrictions:
OLE objects are ignored when generating PDF or HTML, but space is
reserved for these objects in the output.
On-Line Docs for Web links and Web reports restrictions:
OLE objects are not supported in reports output to HTML or PDF files.
2. Problem:
-----------------
You are unable to read a BLOB that is a binary MS Word document from the
database and have it display in a report in Client/Server mode. This works
if you use a link file to display the document; however, if you try to query
BLOB and change field to OLE2, then it does not work. The documentation states
that this should work. Is this a bug?
Solution:
-------------
This is not a bug. The only way you will be able to select a BLOB column is
if the MS Word (OLE2)object was saved to database using Oracle Forms. Loading
document using a procedure or SQL*Loader will not work. Essentially when Forms
stores an OLE object in the database, it 'wraps' it with some further information
which Reports uses when it reads the image back. If this wrapper is not there,
then Reports does not think that it is really an OLE object.
References:
Bug:1852910 Selecting BLOB column with MS Word document returns blank in previewer
3. Problem:
-----------------
You have created a report with an embedded OLE object. Steps used to embed
object are as follows:
- open the Layout Model.
- choose the button OLE2 Object.
- select the radio button "Create from File"
and select a Word document with some Text.
When running the report using Reports Builder (rwbld60)or Runtime (rwrun60)
to printer or printing from previewer/screen, the OLE object is printed.
However, trying to run the report over a Reports server to printer, the selected
MS-Word document text is missing in the report. Only an empty square appears
on your printed paper.
It does not matter how the OLE object is referenced (ie., using formula column
with pl/sql or just using OLE icon).
Solution:
-------------
You are running into Bug:1268176 which is fixed in 6.0.8.14.0. This is Oracle
Reports 6i with Patch 5. This is available for download off Metalink.
4. Problem:
-----------------
Can you access a MS Word document stored in BLOB column in database from
Oracle Reports on the web?
Solution:
-------------
No. Storing MS Word document in database as BLOB and embedding this into
reports will *not* work.
5. Problem:
-----------------
What alternatives are there to be able to display a MS Word document when
run reports on web?
Solution:
-------------
The alternatives are as follows:
1) The best approach is to store the documents on a file system (or Internet
File Server) and use hyperlinks to pull the appropriate MS Word documents back
to the browser. This will display the Word document in MS Word itself.
Example of hyperlink method
--------------------------------------------
Create a simple report mstest_hyper.rdf based on:
select 'click_here' from dual
In the field's property palette, add the following in the hyperlink section:
file:///D|/temp/mstest.doc
(This assumes that your Word document resides in d:\temp directory)
Run report using syntax:
http://<server>:<port>/cgi-bin/rwcgi60?server=<your_repserver>+report=d:\temp\mstest_hyper.rdf+userid=scott/tiger@db+destype=cache+desformat=html
2)
Use some kind of script that pulls the document out of the database and
returns it to the browser (you may write a servlet to do this).
Note that this is before we get into the formatting issues with OLE
(most notably the page boundary problem that Microsoft has not addressed).
3) Use mimetype to specify Word as the application to bring up. See
Note:120435.1 for detailed information.
4) There is an approach that one of our customers has tried. This is not
something that we support, but want to give you all the information we have
on the topic. The method is to store MS Word documents in the rdbms as CLOBs.
Use an ISO context filter to convert the documents from Word to HTML/text and
store that in the database. The problem with this approach is that they
get created okay in Oracle Reports with fields being created based on the
background CLOB objects, but they lose pagination and formatting information
that was previously stored in the MS Word documents.
Partager