Link to home
Start Free TrialLog in
Avatar of pigparent
pigparent

asked on

Oracle client software error in Windows FORMS software

I have some Windows forms software that interfaces with our Oracle production financial system and does some really cool reporting for us.  The trouble is that it only works on the laptops and one of the desktops in our shop.  The vast majority of the desktops return the error:  "System.Data.OracleClient requires Oracle client software version 8.1.7"

I have Googled this error and tried to figure out how to solve it but it seems like the only solutions I can find relate to web-based software and this is a Windows forms issue.  Is there a DLL that Oracle publishes that I can include with the software to overcome this issue?  Thanks!!
Avatar of slightwv (䄆 Netminder)
slightwv (䄆 Netminder)

The issue is that Oracle clients had a separate install and .Net Apps like to use the EXACT same versions they were compiled with.

I have not had great success in even mixing minor client versions of Oracle Clients with .Net.

Another Expert here, that I respect and trust, says he has been able to mix and match Oracle Client versions with .Net with some web.config tweaks but I've personally never tried.

https://www.experts-exchange.com/questions/27020817/The-provider-is-not-compatible-with-the-version-of-Oracle-client.html
I would be skeptical of something that requires "Oracle client software version 8.1.7".  Do you realize how old that is?  That version of Oracle was common in the Windows95 days (or more than 10 years ago).  Are you sure that you want to deploy and/or support something that old?  You may encounter some compatibility problems with that software and current O/S and hardware versions.

Do you know what Oracle database version you are trying to connect to?

Avatar of pigparent

ASKER

slightwv, I definitely appreciate your time.  I followed the link and it went right back into talking about web.config and and ASP.NET and that's not what I'm doing.  I don't have a server that isn't working properly, I have several client PCs that are giving this error and a few that aren't.  So far, I really don't do any web programming so I don't know how to translate that solution into a Windows forms application...or if it's even feasible.

MarkGeer, I think we're running 11i.  I say "I think" because this is a large organization and I don't work in the Technology department.  My application uses System.Data.OracleClient.dll v1.0.3300.0.  Is that my problem?
Sorry, I have no idea what "System.Data.OracleClient.dll v1.0.3300.0" is.  Is that a Microsoft-supplied *.dll file?  Most of my experience has been exclusively with Oracle tools.  I don't have much experience with connecting Microsoft-based tools to Oracle databases.  Most of my experience has been with Oracle client tools, and for those I never interact with *.dll files directly.
MarkGeer, yes, it's a .dll for connecting Microsoft technology to Oracle databases.  It's works amazingly on my machine and a few others...and not at all beyond that.
Is the posted error message the full error message?  I've seen similar messages from MSoft products that say 'at least 8.1.7'.

Do you have the Oracle client installed on the failing machines?
slightwv, it says, "System.Data.OracleClient requires Oracle client software version 8.1.7 or greater."  I am not sure how to know if the Oracle client software is installed on the machine because I'm not an Oracle guy by any stretch and all of these computers have some sort of Oracle software installed on the local machines.  Our actual Oracle Financials app is web-based so I don't know if that is old client software from an earlier version or if it's even necessary for the web app to work but it certainly isn't powering my Windows app.

I tried installing some Oracle software I found on Oracle's website on one of the machines and that one returns the error message, "TNS could not resolve service name."  I'm very new to anything Oracle and in my naivete I believed that the .NET provider would do all the communicating that was necessary and no local software would be needed.  I guess I learned something about Oracle...  I appreciate your assistance as this software is doing some really cool things for us on the machines on which it actually runs!
This error message: "TNS could not resolve service name"  is very common following a new installation of Oracle client software.  This just means that the client is not yet configured to connect to an Oracle database.  After you install the Oracle client software, you have tell it where the Oracle database(s) is/are that you want this client to connect to.  The Oracle client includes an Oracle Network Assistant wizard that can help you do that.  You have to provide at least the server (host) name (or IP address) of the Oracle database server(s) that you want to connect to, plus a couple other details. The default values may be OK for these, like the port number: 1521, depending on the particulars of your database installation.
>>software version 8.1.7 or greater

The 'or greater' is the key point here.  The error means you do not have an Oracle Client installed on the failing machines.

You need to install and configure an Oracle Client.

>> "TNS could not resolve service name."  

This is a configuration issue.  You need to copy files from a working machine from the Oracle install directory under a folder called network\admin.

The files are tnsnames.ora and sqlnet.ora.

Place these files in the new installs network/admin folder.

I would actually suggest the Oracle Instant Client:
http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html

You should just need the Basic.
slightwv, I am increasing the point value because this is apparently a much bigger deal than it should be.  I have downloaded the package you suggested and extracted the files to the root of C: but I don't see any way to "install" them.  Step #3 of the instructions says:

"Set the library loading path in your environment to the directory in Step 2 ("instantclient"). On many UNIX platforms, LD_LIBRARY_PATH is the appropriate environment variable. On Windows, PATH should be used."

Are they referring to the PATH statement in the old DOS-style start-up configuration files??
ASKER CERTIFIED SOLUTION
Avatar of slightwv (䄆 Netminder)
slightwv (䄆 Netminder)

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
slightwv, it was a big deal to this newbie and you made it possible for this software to work on the various machines in our department!  I really appreciate the time and patience that you put into assisting me.  Thank you!