Geeks With Blogs

News View Robert Porter's profile on LinkedIn

I am a Project Manager and Developer with an emphasis on Enterprise Content Management and Business Process Management systems.

With over 20 years of experience in large and small systems design and implementation. Currently based in the Raleigh NC area.

The views expressed here are my own, and do not necessarily represent the views of my clients and employers.

BlogOfBob Read:Learn:Contribute:Repeat

Back in April I began to work with Oracle again after a multiple year absence from doing so. So naturally I decided I would install Oracle on my home system so I could reacquaint myself with it. That proved to be more difficult than I expected. I was able to get Oracle 10g Express downloaded and installed but could not connect to it. So, to save someone else some of the grief I went through let me go through the final sequence of steps that resulted in a solid working Oracle development environment.

My end goal was to have the Database, Client, and Developer tools all on one single system. As I no longer have my “server” system running any longer.

First of all, some background on my home system. I have a Toshiba laptop running 64-bit Windows 7 Professional. The laptop has 4 gigs of RAM and is pretty much otherwise standard. I had already installed and setup SQL Server 2008 along with Visual Studio 2008 and 2010. All of these tools were working as designed and expected.


Oracle requires you to establish a free OTN (Oracle Technology Network) account before you can download their software. Once you have an account you can go to the downloads location and the fun begins!

Oracle Editions

To get started I recommend downloading and installing Oracle 10g Express Edition. It is a small footprint starter database edition that should have everything you need as an application developer and it runs well on most Windows OS versions without slowing your system to a crawl. At the time of this writing it is based on Oracle Database 10g Release 2 and is free to developers.

You could also download either the Enterprise or Standard editions of 11g Release 2 as well, however they will consume every bit of the available resources on your development system. This article assumes you have selected the 10g Express path.

Installing the Database

Oracle Database 10g Express Edition downloads as a single EXE installer. I launched the installer and accepted all defaults. It will ask you for a password during the install for the SYSTEM and SYS accounts.  Don’t leave it blank and don’t forget the password! My install root path was off my C:\ drive in a subdirectory called: oraclexe. I truly recommend you do NOT allow the installer to place files in the “Program Files” or “Program Files (x86)” paths. Oracle clients seem to have an issue with trying to connect to a database that has a space somewhere in the installation path.

Verifying the Install

After the installation completes, I suggest rebooting your system. You don’t need to, but I found that things tended to change slightly after a reboot, I assume there were some registry changes and so forth that don’t fully apply until a reboot. Either way, once the installation is complete you should have the following Services installed on your system.


The services which we care about at this stage are the OracleServiceXE and the OracleXETNSListener. Don’t worry if you don’t see all of these services now, some of them get installed during the installation of the Oracle Tools for Visual Studio.

The main thing is that you have the two services mentioned above. The first is OracleServiceXE. This is the actual Database service that must be running to provide Oracle Database services. The second service, OracleXETNSListener is the Oracle “Listener” service which is what accepts connections from clients and forwards them on to the actual database. (Your service names may vary if you did not install the Xpress Edition.)

To verify that all the bits and pieces are up and running, first make sure that the Listener and the XE service are in a “Running” state. If not, right click each service and select Start to launch the services. If they are running, open a command prompt and type the following at the prompt:


Then hit enter. If everything is as it should be, you will see something similar to the following output:


The most important part is the last line where it says “OK (20 msec)” that means the listener is up, and reachable by clients! So now fire up your favorite Oracle client and you should be good to go! If you don’t have a client Oracle gives a Java based one away. It is called SQLDeveloper and can be downloaded from here.

Installing Oracle Developer Tools for Visual Studio

So, now that we have installed and verified Oracle Express, it is time to download and install Oracle Developer Tools for Visual Studio which allows you to integrate Oracle development inside Visual Studio, much like you can develop with Microsoft SQL Server in a tightly integrated fashion.

The version I downloaded was ODT which adds support for Visual Studio 2010 and .NET 4.0, it also continues to support .NET 2.0 and Visual Studio 2008. I happen to have both installed so I wanted to make sure that whichever environment I was working in, I would have the appropriate Oracle tools.

Once you download the file, which is a ZIP archive, extract the archive be sure to use the option that recreates all the source paths. Then, and this is the part I could not find any documentation for, copy the entire newly created folder tree to your C:\ directory. Launch the setup from there by right clicking and selecting Run As Administrator if you are on Vista or Windows 7.

I did not do this the first 20 or so times I tried, and got various and sundry errors none of which made any sense. The root cause was again, spaces in directory paths. I was originally launching the setup from down inside my “My Documents” tree.  Moving the file to the root of C: and running it from there resolved all of the errors. Why in this day and age Oracle cannot tolerate spaces in path names is beyond me, but for whatever reason, it cannot, so don’t try and make it.

Another wrinkle on this install, I installed it to C:\Oracexe\app\rbporter which is what I chose for my home directory for the Oracle Client. By default it wants to self destruct and try to install into your User directory with all those nasty spaces in it. Prevent a needless death and install it into the same structure as the server itself.

Once the install is complete, using whatever your favorite client tool is, run the SQL script called InstallAllOracleASPNETProviders.sql which will be located in a path similar to this:


Notice that there are no spaces in this path!!!!

Verifying the Tools Installation

This script creates various packages, tables, grants etc in your Oracle database to enable a lot of the functionality of the toolset. That’s it! You are done! Now you can fire up Visual Studio, select Server Explorer, and create a new Data Connection. You should see a dialog like the following: (Click to view a larger version.)


If all is well when you press the Test Connection button you will get Test Connection Suceeded message! Once the connection is defined you can expand it and you will see all of the normal Oracle Objects in a tree view.


You are now on your way! Hope this helps!



Posted on Sunday, October 3, 2010 4:11 PM | Back to top

Comments on this post: Installing Oracle Express with the .NET Tools

# re: Installing Oracle Express with the .NET Tools
Requesting Gravatar...
I just installed oracle XE 10g and the ODT in Windows 7. Then you wrote "using whatever your favorite client tool is, run the SQL script called InstallAllOracleASPNETProviders.sql", I just have visual studio on my computer. What client tool should I use, or which one do you recommend, this is my first project as an student. Thanks.
Left by Alan on Nov 28, 2010 1:04 AM

# re: Installing Oracle Express with the .NET Tools
Requesting Gravatar...
i need it
Left by Aishan on Jan 08, 2014 1:59 AM

Your comment:
 (will show your gravatar)

Copyright © Bob Porter | Powered by: