SyntaxHighlighter

Friday, April 20, 2012

Example: How to print a Oracle report using a URL


Oracle Reports 10g
Windows Server 2008
For those of us that use Oracle Reports in our environments, most of us (I assume), use the web browser to run the report. The report is then returned back to the browser window for viewing (typically). But what happens if I want to run the report directly to a printer without viewing it? 

Perhaps I want to have a payroll run that prints a few thousand pay sheets. Not something I want to preview or download to my browser. It's also not something I would print to my local printer that only does 15-20ppm.

Or, maybe I want a document that requires particular stationary, delicate watermarking and copy protection only available on a specialised corporate printer. Like perhaps a vehicle license document or access card printer.

Anyway, there is quite a bit of documentation about printing from Oracle Reports on UNIX servers (because it's so much more complex on UNIX systems), but basically none on Windows servers because it is so simple. Still, it took me a little while to find just the right parameters to set when running the report. So here it is then, a simple guide to printing Oracle Reports to a designated printer via a URL browser command....

Friday, March 23, 2012

Extending the simple MS Excel procedure to include headers

Oracle 10g
MS Excel
In my previous post titled "Simplest example of writing to MS Excel using an Oracle Stored Procedure", I demonstrated what I believe to be the simplest way of outputting a file that can be used by MS Excel. But the example does not include the column headings.... Okay, thats simple enough. In this post, I will extend on the previous example to include the headings.  So without further ado....

Tuesday, February 28, 2012

Simplest example of writing to MS Excel using an Oracle Stored Procedure

Oracle 10g
MS Excel
First of all, we need to define exactly what is meant by "writing to Excel worksheet". Most people just mean produce something that MS Excel can show as a worksheet. A CSV file is the simplest file that can be displayed by MS Excel and since it is a simple text markup, is the easiest to produce via PL/SQL.

Generating the file using a stored procedure is seriously simple. But you will need to also give thought to how you will make the file available to excel (how to distribute the file). In my example, I make the file available on a network share. The user will find the file available there and open it using MS Excel.

Thursday, February 23, 2012

Solved problem with fonts in Oracle Reports 10g on Windows 2008 Server

Oracle Reports 10g
I have seen countless posts of people battling with fonts in Oracle Reports. I battled my Reports Server on Windows Server 2008 for two days trying to get the font to display. In the end, it turned out to be relatively simple, but not obvious. 

The trick with Oracle Reports fonts is to make sure that you have got the font names right in the font aliasing configuration file (uifont.ali). If you don't get the font names right, then the alias will not be used and your report will not use the correct font. Get the font names correct and the report will show as expected.

Monday, February 13, 2012

Javascript not running in IE8

IE8
I encountered a really weird scenario today involving Internet Explorer 8 and javascript. On one particular users computer the browser would not execute any javascript. Even after making sure that javascript was enabled by every other means, the javascript just would not run.

While instpecting all the different IE settings I could find that I thought could influence script execution, I did notice that McAfee had installed scriptproxy as a browser extension. I assumed that this was the most likely culprit causing the unusual application behaviour. I tried disabling the extension, but of course it did not change the situation. 

The reason is that the scriptproxy works by tricking other COM based applications into thinking that it is the jscript or vbscript engine. It does this by changing the registry entries of the jscript and vbscript components so that they actually point back at scriptproxy. So even though I disabled the browser extension, the browser would still be trying to instanciate an instance of scriptproxy and not the jscript component.

Thankfully the system already had Microsoft anti-virus installed and I was given the go-ahead to remove the McAfee component from the computer. 

Unfortunately the McAfee uninstall does not put things back exactly where they were and I was forced to re-register the jscript component manually
regsvr32 jscript.dll
did the trick.

Thursday, February 9, 2012

AWR and Oracle Licensing

Oracle 10g, 11g
When 10g came along, we thought we were getting some great new performance monitoring and tuning tools to help us diagnose problems and generally make sure our database was running smoothly. This seemed to come in the form of the Automatic Workload Repository (AWR). 

All sorts of articles were written about how you can use AWR to troubleshoot various performance problems that you may be having. Many forums and articles showed off how STATSPACK had been eclipsed by AWR, and countless more have written examples on how to use AWR. Testing Oracle 10g for the first time, I was really excited about AWR. 

"Look how easy it is! And it's installed and available by default!" 

Well, yes it is, but actually.... you're not allowed to use it! 

Monday, February 6, 2012

AWR Report missing diagnostic information with ORA-20023 errors

Oracle 11g Release 1 
I seem to be hitting all of the AWR report bugs lately. The latest one is that the AWR report is missing data and shows lots of errors of the form:
WARNING (-20023)
ORA-20023: Missing start and end values for time model stat: parse time elapsed
A bit of searching on Metalink reveals that this seems to be a bug (#7532789) and is discussed in document 1181573.1. The bug information seems to note Enteprise edition only, but I have found the problem on Standard edition too.