Sunday, September 12, 2010

PL/SQL Developer on OSX

Running on Mac OSX is great and although most of the time I have a native Mac OSX app I can use, it sometimes happens I want to run a Windows-only program e.g. Internet Explorer (just to see if my app works in this browser!), BI Publisher plug in for MS Word, PL/SQL Developer or Schema Compare for Oracle.

So the options are running a Virtual Machine (I use VMWare Fusion) or use a program like CrossOver (Windows emulator based on Wine). Not all applications work with CrossOver, but it's worth trying to get it working there as it's more lightweight than firing up a VM.

In this blog post I'll show how to install PL/SQL Developer in CrossOver.

Once CrossOver is installed, you click Configure - Install Software.


Select Other Application and in Select an installer search for plsqldev804.exe file (which you can download from the PL/SQL Developer website. Finally hit the Proceed button to do the install. You just follow the wizard from PL/SQL Developer to finalize the install.

Once that is done we'll have to install the Oracle client so we can connect with PL/SQL Developer to our Oracle database. Easiest will be to download the Instant Oracle Client for Microsoft Windows (32-bit). Unzip the file and copy the directory to your C-drive. To open the C-drive: in the CrossOver menu click on Manage Bottles - Advanced Tab - Open C: drive in Finder.


Next you'll have to set the Environment Variables, so PL/SQL Developer knows where it can find the Oracle Client. Edit the cxbottle.conf file which you find in C:\

Add in the [EnvironmentVariables] section (depending your db characterset):

ORACLE_HOME=c:\instantclient_11_2
TNS_ADMIN=c:\instantclient_11_2
NLS_LANG=AMERICAN_AMERICA.UTF8

Next create a tnsnames.ora file with the connections to your database e.g.:

ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SID = ORCL)))

and copy that file into c:\instantclient_11_2 (or the directory you unzipped the Oracle instant client)

That's it... if you now start PL/SQL Developer (CrossOver - Programs - PL/SQL Developer), it will look like it's a native OSX app.


I had to do one more thing to get it complete like on a real Windows system. The icons in PL/SQL Developer looked a bit funny (gray/black - not really readable).
To solve that, go to PL/SQL Developer - Tools - Preferences - User Interface and uncheck Faded disabled buttons.

6 comments:

Tato Mumladze said...

Great Post, it was really helpful !!!

But there is a small problem, CrossOver is not a free :( but it costs less and its not a big problem.

Thank Bro, you made my day :)

Tato Mumladze said...

Great post!!! Really helpful, but there i had one problem, CrossOver is not a free version but i solve it...

Thank you Bro, you made my day :)

Best Regards,

Tato Mumladze

Tato Mumladze said...

Great Post!!!
It was really helpful....

Thank you, you made my day :)

Best regards,
Tato Mumladze

Reuben said...

awesome ! been looking for a while on how to get a proper pl/sql development tool on the mac.

And this works like a charm, just need the tnsnames to be set as :

"ORACLE_HOME"="c:\instantclient_11_2"
"TNS_ADMIN"="c:\instantclient_11_2"
"NLS_LANG"="AMERICAN_AMERICA.UTF8"

and you are good to go.

thanks for the info !!

Unknown said...

Am a bit ashamed that I found this out only now. But it really really works like a sharm!!
Great post Dimitri.

By the way, I contacted the AllRoundAutomations to ask if they had plans to make an OSX version and they said "No". Nothing more than plain "No" ...

Now I have my favourite PL/SQL tool on Mac.

Haha ... great! (I feel like a little kid getting a new toy) :-D

ruepprich said...

Hi Dimitri,
thanks for the post. I'm desperately trying to get PL/SQL Developer (10.0.5) running on my Mac, however I'm getting an installation error (EdxGdipException in module AdminSetup.exe).
Have you come across this error?
Thanks,
Christoph