Well, after an extended period of being primarily back into the Drafting world (I am an architectural technologist by background and formal training), I'm now spending as much time writing code again as I am actually drawing things. I don't seem to have 'lost it', my MDL apps are working like they're supposed to, so that's good to know.
The project that I'm working on right now requires MicroStation v8 2004 Edition interfacing directly with Oracle 10g (not through ODBC). For my in-house development I decided to use the free Oracle XE 10g database. After some trials and tribulations, I've managed to get it working and I decided to start this blog in order to share what I've learned SO NO ONE ELSE NEED REPEAT THE MARATHON OF PAIN.
According to the tech support guys at Bentley Systems, V8 2004 (and XM) has a bug in the Oracle library that doesn't allow a remote connection with Oracle XE. No joy there...
There is however, a solution, although a bit roundabout.
If you install Oracle XE on the same machine as MicroStation V8, you're fine; everything works as it's supposed to. The problem occurs if you want to use the Client to connect to a remote Oracle XE server. Firstly, don't use the Client, it won't work. If you install XE onto the same machine as MicroStation, it has the necessary services and client files that will allow you to connect to a remote server. The catch is that the local database must be actively running, even though you're not using it. It just means a little more system overhead that's not serving a really useful purpose.
The second challenge that I ran into which caused much teeth-gnashing and hair-pulling was the fact that I was getting commas instead of decimals from my real number queries on the database. Caused all kinds of 'too many arguments' errors that drove me nuts (the main application has been working in a production environment since 1998, I knew it was correct). I then proceeded to spend many, many hours trying to get my output showing decimals for my decimals. I changed my Regional settings to all 'US English' (I'm in Canada and we spell things slightly different sometimes), but no change. I uninstalled and reinstalled Oracle (3 times) including full system boots between each install. No luck.
I finally came across an obscure blog posting somewhere, much like this one will be, which hinted that Oracle XE actually doesn't use the OS display parameters, it uses frigging INTERNET EXPLORER! I dropped my CDN English dictionary and switched to US English and everything worked.
ATTENTION MICROSOFT & ORACLE: Here in Canada we speak English and we use '.' for our decimals!
I'm going to continue posting the odd and unusual things I come across in my coding efforts as I find them.
Have a good one.
Shawn