How do I connect to a remote Oracle 9i database from Windows 7?

Posted on 2010-08-18
Last Modified: 2013-12-19
I recently upgraded my laptop to Windows 7, and I am now unable to connect to a legacy Oracle 9i database with the Oracle 10g Client or the Oracle 9i Client.  The 9i client would never fully install for compatibility reasons, and the 10g client yields this error -->

ORA-03134: Connections to this server version are no longer supported.

I have been digging around this issue for a week or so to no avail, so any help would be greatly appreciated.
Question by:craigalbritton
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
  • 2
  • +2
LVL 77

Expert Comment

by:slightwv (䄆 Netminder)
ID: 33467635
Unless some other expert knows some tricks I can't think of a way around this.

If you have the horsepower on the laptop you can create a virtual machine with a supported OS for 9i and connect through it.

Author Comment

ID: 33467694
slightwv - That's the answer I was dreading, but I will wait a few days to see if any solution surfaces. Thanks!

Expert Comment

ID: 33469201
Not correct...

I connect to a Oracle 9i and 10b from windows 7 using the clients Oracle provide..

Then use Toad or C#..
NFR key for Veeam Backup for Microsoft Office 365

Veeam is happy to provide a free NFR license (for 1 year, up to 10 users). This license allows for the non‑production use of Veeam Backup for Microsoft Office 365 in your home lab without any feature limitations.


Expert Comment

ID: 33469209
You will NEED to run it in compatibility mode for Vista if you download the vista client.

Expert Comment

by:Sanjeev Labh
ID: 33472965
You can do this with the help of SQL Developer tool provided by Oracle itself. It is java based and it does not have hassles of installations. In that you can do a direct connect by specifying the IP and SID and no need for TNS configuration. I think SQL Developer can solve your problem easily.

Author Comment

ID: 33486099
After installing the SQL Developer v2.1.1.64, I created a connection for an Oracle 9i database with Connection Type: Basic.  Everything else is correct as I have done this many times on pre-Windows7 OS's without any issue.  Any ideas?

Here is the error I receive:
      at oracle.jdbc.driver.T4C8TTIdty.marshal(
      at oracle.jdbc.driver.T4CConnection.logon(
      at oracle.jdbc.driver.PhysicalConnection.<init>(
      at oracle.jdbc.driver.T4CConnection.<init>(
      at oracle.jdbc.driver.T4CDriverExtension.getConnection(
      at oracle.jdbc.driver.OracleDriver.connect(
      at oracle.jdeveloper.db.adapter.AbstractConnectionCreator.getConnection(
      at oracle.dbtools.raptor.standalone.connection.RaptorConnectionCreator.getConnection(
      at oracle.dbtools.raptor.dialogs.conn.ConnectionPrompt.promptForPassword(
      at oracle.jdeveloper.db.adapter.DatabaseProvider.getConnection(
      at oracle.jdeveloper.db.adapter.DatabaseProvider.getConnection(
      at oracle.jdevimpl.db.adapter.CADatabaseFactory.createConnectionImpl(
      at oracle.javatools.db.DatabaseFactory.createConnection(
      at oracle.javatools.db.DatabaseFactory.createDatabase(
      at oracle.jdeveloper.db.DatabaseConnections.getDatabase(
      at oracle.jdeveloper.db.DatabaseConnections.getDatabase(
      at oracle.dbtools.raptor.utils.Connections$ConnectionInfo.getDatabase(
      at oracle.dbtools.raptor.utils.Connections.getConnection(
      at oracle.dbtools.raptor.utils.Connections.getConnection(
      at oracle.dbtools.raptor.navigator.DatabaseConnection.openConnectionImpl(
      at oracle.dbtools.raptor.navigator.AbstractConnectionNode.getConnection(
      at oracle.dbtools.raptor.navigator.ConnectionFilter.getFactory(
      at oracle.dbtools.raptor.navigator.ConnectionFilter$1.doWork(
      at oracle.dbtools.raptor.navigator.ConnectionFilter$1.doWork(
      at java.util.concurrent.FutureTask$Sync.innerRun(
      at oracle.dbtools.raptor.backgroundTask.RaptorTaskManager$
      at java.util.concurrent.Executors$
      at java.util.concurrent.FutureTask$Sync.innerRun(
      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(
      at java.util.concurrent.ThreadPoolExecutor$

Expert Comment

by:Sanjeev Labh
ID: 33491261
Probably you have not downloaded the sql developer which comes bundled with java. You might be using the one where you have to install java. Try using the bundled one.

Expert Comment

ID: 33606279
for example right click on sqlplus and then properties
and change the  compatibility mode  to windowsXP/2000 ......

Accepted Solution

craigalbritton earned 0 total points
ID: 33907666
After attempting the above solutions as well as a few others from across the web, I finally resolved this issue with the following process:

To install the Oracle 9i Client on the Windows7 system, follow these steps:
1.      Download the Oracle 9i Client or obtain it from another admin via BigFile. The zip file ( is 610MB, so it cannot be uploaded to the sharepoint site.
2.      Extract the Oracle 9i Client zip file, i.e. C:\Users\[eid]\Downloads. The location is arbitrary.
3.      Run the setup executable: [Extract Location]\92010NT_CLT\setup.exe.
4.      If prompted by Windows of compatibility issues, click "Run Program". This usually happens twice.
5.      Click [Next] on the "Welcome" page.
6.      File Locations should already be set:

Source: [Extract Location]\92010NT_CLT\stage\products.jar

Name: Oracle92
Path: C:\Oracle\ora92
7.      Click [Next] on the "File Locations" page.
8.      On the "Installation Types" page, select "Custom" and click [Next].
9.      Under the "Oracle 9i Client", select the "Oracle Enterprise Manager Products" and click [Next].
10.      !!!IMPORTANT!!!

On the "Summary" page, you must do the following steps before clicking [Install]. The included version of the psapi.dll file will not work with Windows 7, so you have to replace it with a working version.


11.      Rename the extracted psapi.dll in the temporary location. Open Windows Explorer and navigate to "C:\Users\[eid]\AppData\Local\Temp\OraInstall2010-10-14_09-25-29AM". The actual location will vary by user and date, so you may have to do some looking around. Rename the psapi.dll file to "psapi_oracle.dll".
12.      Copy a working psapi.dll file to the install directory. Navigate to "C:\Windows\System32" and copy the psapi.dll file from there to "C:\Users\[eid]\AppData\Local\Temp\OraInstall2010-10-14_09-25-29AM". The actual location will vary by user and date, so you may have to do some looking around. Now, you should be ready to continue the installation.
13.      Go back to the "Summary" page of the Oracle client installation and click [Install].
14.      The installation takes a few minutes and should deliver you to the Net Config Assistant.
16.      Once the installation completes, click the [Exit] button.
17.      Oracle Client 9i OEM installed.

NOTE: [eid] is an arbitrary enterprise ID which could be your local user name.  Also, to start the Enterprise Manager, I had to run it as an Administrator.

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Truncate is a DDL Command where as Delete is a DML Command. Both will delete data from table, but what is the difference between these below statements truncate table <table_name> ?? delete from <table_name> ?? The first command cannot be …
How to Unravel a Tricky Query Introduction If you browse through the Oracle zones or any of the other database-related zones you'll come across some complicated solutions and sometimes you'll just have to wonder how anyone came up with them.  …
This video shows, step by step, how to configure Oracle Heterogeneous Services via the Generic Gateway Agent in order to make a connection from an Oracle session and access a remote SQL Server database table.
This video shows how to set up a shell script to accept a positional parameter when called, pass that to a SQL script, accept the output from the statement back and then manipulate it in the Shell.
Suggested Courses

617 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question