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.

7 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 !!

Anonymous 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

Anonymous 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

Anonymous said...

Hi Dimitri,

Thanks for the post. It works on sierra with new crossover 16.1. Also 64-bit version works on windows-10 64-bit bottle with 64-bit oracle client.