Oracle and Parentheses (x86)
I could connect just fine in a standalone exe to Oracle, but the same code running inside of Arcmap extension was unable to connect, giving error ORA-12154.
It turns out the problem is the parenthesis in the path – C:\Program Files (x86)\ArcGIS\bin\Arcmap.exe.
I’m running 64 bit Vista, which (finally!) supports symbolic links similar to those found in Unix. The solution was to create a symbolic link with MkLink named C:\Program Filesx86 that points to C:\Program Files (x86). I changed the path used in visual studio debugger as well as my desktop shortcut to Arcmap so they use the symbolic link folder instead of the parenthesized one. So far so good.
This will be deployed to 32bit systems, so no need to set the link there.
Oracle supposedly has a patch for this (5059238 ) but downloading requires paid support.
I wonder if my inability to install ArcSDE Oracle on 64 bit Vista stem from this parenthesis issue. In 9.2 ArcSDE would install under C:\arcgis\ArcSDE, but with 9.3 it goes into C:\Program Files (x86)\ArcGIS\ArcSDE.