Monthly Archives March 2008

Call BI Publisher Web Services from APEX

Integration between Application Express and BI Publisher is primarily focused on delivering high fidelity reports to the browser, such as clicking a “Print” link on an APEX report and getting back a PDF version of that report in your browser. The configuration and architecture of this integration is documented here. However, there have been [...]

Today is my Last Day at Hotsos

In October 1999, my friend Gary Goodman and I started a company called Hotsos. In the past eight years, we’ve invented a new method for optimizing Oracle systems, educated thousands of people on how to use it, and written and sold some pretty good so…

Save the Developers from the Users

TechCrunch posted a plea to Save the Developers last week imploring users to upgrade their Internet Explorer 6 browsers to Internet Explorer 7.
According to W3 Schools, more than 30% of people browsing the Interwebs use IE6, even though it is more than 6 years old. The gist of the plea is that IE6 is old [...]

Oracle Clusterware for Non-Real Application Clusters Purposes.

Quite some time back I made a blog entry about deploying Oracle Clusterware for non-RAC purposes. As I pointed out in that entry, there were license ramifications. That was then, this is now.
In this press release about Oracle Clusterware, Oracle is announcing that Oracle Enterprise Linux (with Unbreakable Linux Support) can deploy Oracle Clusterware to [...]

PL/SQL Seminar in Estonia…

I’ll be in Estonia on the 3rd & 4th of June doing a PL/SQL seminar. I’m guessing the details will be available here in the next day or two.
Cheers
Tim…
PS. If I get any more dates I’m printing a “World Tour” T shirt.

Comparing CHAR values

Here is a table with a single row of data.

SQL> create table my_tab (c2 char(2))  2  /

SQL>  insert into my_tab (c2) values ('Y ')  2  /

1 row created.

SQL>

Which of the following queries will match that row?

select * from my_tab where c2 = 'Y'/

select * from my_tab where c2 = 'Y '/

select * from my_tab where c2 = 'Y  '/

If you said all three you get a cigar (providing you live in a jurisdiction where such infernal devices are still permitted).

SQL> select * from my_tab where c2 = 'Y';c2--Y

SQL> select * from my_tab where c2 = 'Y ';c2--Y

SQL> select * from my_tab where c2 = 'Y  ';c2--Y

The reason is due to Oracle’s rules for comparing blank-padded datatypes. If the two values are of differing sizes Oracle pads the smaller variable with the requisite number of blank spaces. Obviously it is documented.

On the whole I think this is a boon - CHAR columns are a pain in the neck at the best of times, without having to worry unnecessarily about additional RPAD calls. This is unfortunate if you are relying on ‘Y ‘ being different to ‘Y’; but if your application depends on trailing spaces for data integrity then you probably have bigger problems.

the wit and wisdom of Terry McDermott


Taking a Look at Hyperion Web Analysis

Whilst Oracle BI Answers is a pretty good ad-hoc query tool, it’s not really an OLAP tool and Oracle’s current recommendation if you want that sort of thing is to use Hyperion Web Analysis, which comes bundled with the latest version of OBIEE, OBIEE “Plus”. Hyperion Web Analysis connects to Essbase, Microsoft Analysis Services and [...]

On the Train to Oslo, Issues with EIS and OBIEE

I’m writing this post sitting on the express train going from Oslo Airport to the centre of Oslo, traveling over to Norway for the Norwegian User Group conference this week. I’ve been invited over as a guest of the user group to do a couple of presentations on Oracle BI, it’s been a bit of [...]

LA, Universal Studios and Malibu