What Drivers or Library Files are Needed for Personal Oracle8i

Posted on 2002-05-01
Medium Priority
Last Modified: 2007-11-27

I have a small sample program written in Visual Basic which accesses an Oracle database using the scott/tiger schema.

It's Visual Basic 6 Pro, Service Pack 5 and Personal Oracle8i, both of which are running on Windows 2000 Professional.

Also, I understand Visual Basic better than I do Oracle, whatever flavor.

When I compile this program and run it as a standalone executable app, it runs fine.
But, it needed to be included into a larger VB application. So, it was added in.
I compiled the whole thing and when I clicked on the menu choice to launch it, it worked fine there too.
Now, I decide to try to package this larger app into something someone could install on their own PC.

Well, now, after I've run the Setup.exe for this and installed it (a sort of practice run) on my PC, I click on the portion of the VB app which accesses the Oracle database. I NOW receive this error message:

 "Data Source name not found and no default driver specified. Run-time error -2147467259" Click 'OK'.
 "Oracle client and networking components are supplied by Oracle Corporation and are part of the Oracle
  version 7.3.3 or later client software installation. Provider is unable to function until these components
  are installed."

Would anyone have any thoughts as to what drivers or library files need to be added to the package? Should I merely copy every driver file/dependency/ library file from my Oracle\bin folder? Or, should I abandon the attempt to put this into the Visual Basic application altogether?

Question by:jnowlin
  • 8
  • 2
  • 2
  • +4

Expert Comment

ID: 6983959

did you install OLE:


this is another install doc, may be useful to you:

Oracle Objects for OLE Installation Notes


System Requirements
The minimum system requirements necessary to install and run Oracle Objects for OLE   are:

Operating System: Windows 95/98, Windows NT 4.0, Windows 2000.
Minimum processor: Pentium 166.
64 Mb memory (128 Mb recommended).
Hard Disk Space :
~ 14.9 MB to download OO4O817315.exe, ~ 17 MB to decompress, ~ 8MB to install OO4O.
~ 28.9 MB to download OO4O817315full.exe (RSF's included), ~ 30.9 MB to decompress, ~ 8MB to install OO4O only.

32-bit application capable of OLE scripting (Visual Basic 4/5/6, Excel 5/7, etc.) or supported C++ compiler (Microsoft Visual C++ 6.x).
Before You Install
Before you install Oracle Objects for OLE, make sure that you perform the following tasks:

Close all open applications.
Deinstall any previous version of Oracle Objects for OLE.
Download the product.
Decompress the product. Double click on the file itself. This step creates a number of subdirectories.
Installing Oracle Objects for OLE
The following steps describe how to install Oracle Objects for OLE on your hard drive. After you have successfully expanded the downloaded file for Oracle Objects for OLE (as described in the previous section), follow these steps to run setup.exe from the Disk1\install\win32 location.

Click the Start button located at the bottom of the Windows screen.
Click Run.
The Run dialog box appears.
Click the Browse button.
The Browse dialog box appears.
Select and open the directory where you have downloaded Oracle Objects for OLE.
Double-click to open the Disk 1 folder, the Install folder, and the win32 folder.
Double-click setup.exe
The Run dialog box appears.
Click the Run button to start the setup.
Click the Next Button at the bottom of the screen to start the Oracle Universal Installer and begin installation. Please follow the on-screen directions.
Click Exit to exit the Installer.
A confirmation dialog appears verifying you want to exit the installer.
Click Yes. Upon exiting the Installer, any necessary post-installation instructions are displayed.
Post-Installation Tasks After installation you may remove the subdirectories of the directory to which you downloaded Oracle Objects for OLE and may also delete the downloaded file if you are certain you will not be installing the product again.
Oracle Objects for OLE Directory Structure When you install Oracle Objects for OLE, a top-level directory, called Oracle home, is created on your hard disk. By default, the Oracle home directory for is \Oracle\Ora81
Review the README.HTM file located in the ORACLE_HOME\OO4O subdirectory.
The install process copies Oracle Objects for OLE components into the subdirectories of the Oracle home directory. The following is a list of all the subdirectories that are installed.
\Bin Dynamic link libraries
\Mshelp Online help files
\Oo4o Class libraries and sample files for Visual Basic, Excel and C++  
\Program Files\Oracle Oracle Universal Installer files

Note: Additional directories will be created for the installation of RSF 8.1.7.

LVL 36

Expert Comment

by:Mark Geerlings
ID: 6984113
Visual Basic needs an ODBC connection to Oracle.  For ODBC you can use either:
1. the Oracle client installation (and then you need to configure SQL*Net/Net8)
2. the Microsoft ODBC client for Oracle (which I am not familiar with)
Then you set up an ODBC data source using whichever driver you installed and configured and select that ODBC data source in your VB app.
Get expert help—faster!

Need expert help—fast? Use the Help Bell for personalized assistance getting answers to your important questions.


Author Comment

ID: 6984929
Hello ORACLEtune, thanks for the extensive notes.

As I said earlier, I'm not all that familiar with Oracle, yet.

"did you install OLE:"

How do I tell if I installed it or not? The book I'm learning this from mentions oo4o but I don't remember if I indeed have what you suggest I should have on my PC.
I went to the Oracle site via the link you provided - I just finished the download! - and downloaded oo40817315full.EXE, all 29 Mb or so.

After I figure out whether or not I have OLE, my next step is to deinstall it, so long as it's a previous version?

According to the notes you gave me, there (I) should have a folder (directory) named \oo4o. I looked at my Ora81 folder, which I believe is my Oracle root (home) folder,and I DO NOT have a oo4o folder contained therein. So there. I guess I need to install it.

Decompress the product??

I should follow the instructions in the notes to achieve a successful installation?

'till the next step

Expert Comment

ID: 6985109
Jim - the succinct points made by markgeer should help you solve this problem. That is all it takes to get VB working with Oracle


Author Comment

ID: 6987539
Hi sora,

"2. the Microsoft ODBC client for Oracle (which I am not familiar with)"

The MS ODBC client for Oracle is how I started with this small VB-connect-to-Oracle project. I doesn't seem to fly when packaged by VB's P&D Wizard. So, I think the next logical step would be to go with the Oracle client and this SQL*Net/Net8.

"1. the Oracle client installation (and then you need to configure SQL*Net/Net8)

While markgeer is not familiar with the MS ODBC client for Oracle, I am not at all familiar with configuring SQL*Net/Net8.

I believe it's a situation where points need to be awarded between 2 experts. This will enable me to post another question on the configuration of the Oracle client software.

Do all agree with me?


LVL 17

Expert Comment

ID: 6988112

1) No, 200 points are sufficient for what all you are asking. I also face the problem of splitting points between experts which is not incorporated in E-E.

2) If you use microsoft ODBC then you select a oracle driver, create a datasource name and feed this info in VB app to connect to oracle via driver.

3) If you use Net8 configuration, then you need to use oracle supplied(c:\Oracle\Ora81\jdbc\lib - classes12.zip and classes111.zip) thin and OCI drivers which are written in Java and JDBC compatible.

4) You can also use third party vendors drivers or drivers supplied with application like VB or application servers like weblogic/websphere etc.

5) Go to Start --> Programs --> Oracle --> OraHome81 --> Network Administration --> Net8 Assistant, click on node local. You will get nodes service naming and listeners. Click on service naming. Click on plus button or choose edit ---> create from menus.

6) You will get prompt for Net Service Name. This is the alias for actual service/host string. Enter system identifier(SID)/db_name/instance_name here. If you do not know, check in init.ora file in c:\Oracle\admin\mydb\pfile.

7) Next, choose TCP/IP as protocol. This works everywhere. NMP works for standalones or in LAN/intranet. Next enter your oracle server system IP in host name prompt.

8) Now in service name prompt, enter db_name+db_domain(from init.ora file - none if none exists). Now test the service. If successful on scott/tiger, click on node listeners. Create a LISTENER if not already there and add a address with TCP/IP, system IP and PORT 1521. Now try to connect in SQL*Plus as well.

9) You can do all above if you are experienced by adding info. in tnsnames.ora and sqlnet.ora in c:\Oracle\Ora81\network\ADMIN. By configuring in these files, Net 8 is auto configured and vice versa.

10) Your configuration is over. Now configure in your VB application a data source/connection pool etc. using the drivers specified within Oracle as I mentioned above. Put the drivers in classpath. This is so even if you use VB based oracle drivers.

11) The basic minimum for your database to work is the database and listener services in control panel services window must be started.

--- k_murli_krishna

Author Comment

ID: 6992049
Thank you k_murli_krishna.
I will try this.

Author Comment

ID: 7004892
I have run into some other problems k_murli_krishna and have not as yet tried your suggested comment.
I am sorry.
Please bear with me.

Author Comment

ID: 7010170

"5) Go to Start --> Programs --> Oracle --> OraHome81 --> Network Administration --> Net8 Assistant,
click on node local. You will get nodes service naming and listeners. Click on service naming. Click
on plus button or choose edit ---> create from menus."

I did not see a clickable selection for 'node local'.
I did not proceed further.


Author Comment

ID: 7039763
LVL 36

Expert Comment

by:Mark Geerlings
ID: 7041699
Which ODBC driver do you want to use with your VB app, the Oracle ODBC driver or the Microsoft ODBC driver for Oracle?  Have you tested them both? (One may work better than the other, depending on the kind of SQL statements your app submits and the version of the Oracle ODBC client you have.)  After you have determined which ODBC driver works best, then you can figure out how to automate the installation and configuration of the ODBC driver.  We haven't heard from you which one you want to use.

Author Comment

ID: 7048680
I'd like to use whichever one which will actually be deployable. I've been away from this question for this project as I was working on another project. That project also had, and still has, VB deployment problems. It didn't have any database deployment problems. It was a small application which was designed/developed to display a bitmapped image on a Form and play 2 sound (.WAV) files for my brother, his wife and their new son. It didn't dawn on me that his PC would have a different Media Player control on it. What a mess.

So, the main issue here is:

How very difficult it is to package and deploy an application so that it has all of the approprate client drivers, files, etc. I CAN get a working Visual Basic application on MY PC. I can add records, delete records. Once I try to put all of this into a Setup.Exe and get the EXACT SAME functionality in a distributed application (made even more complex, since I haven't enough willing PCs or willing WIN2K PCs - no administrative priviledges)
that is where the problems lie.

So, to answer the question, "Which ODBC driver do you want to use with your VB app, the Oracle ODBC driver or the Microsoft ODBC
driver for Oracle?", I will go for the Microsoft ODBC driver for Oracle. There's likely to be more support for it and hence more Windows API functions developed for it.

There simply *must* be a way to achieve my goal.
LVL 17

Accepted Solution

k_murli_krishna earned 800 total points
ID: 7049284
"Data Source name not found and no default driver specified. Run-time error -2147467259" Click 'OK'.
"Oracle client and networking components are supplied by Oracle Corporation and are part of the Oracle version 7.3.3 or later client software installation. Provider is unable to function until these components are installed."

The first says you have not created a data source name in ODBC data sources from control panel and attached a microsoft ODBC driver for oracle along with selecting username/password and service. Even if you have created this, you need to specify all required information in your VB application. This is one way of connecting. Even here, just to make sure, configure your client net 8 according to my comment given earlier. This also needs microsoft ODBC driver for oracle installed. Mostly it comes with windows 2000. Else you have to install. If it is available in ODBC data sources window that's enough.

The second says some oracle client and networking components i.e. drivers have not been installed. At least in 8i client we get a choice to select the drivers during installation if we go for custom and if typical they are included anyway. Recollect what you have installed and accordingly post a question in technet.oracle.com, oracle.support.com and asktom.oracle.com. You can also survey oradoc.photo.net. Hope your problem is solved.

--- k_murli_krishna

Expert Comment

ID: 7082319
Have you been helped, or is more needed?
Moondancer - EE Moderator

Author Comment

ID: 7090809
I have been helped, but as I mentioned in a VB posting, I've been sick the last few weeks,  I haven't been able to work on it.

But, I believe I have enough information, including some other informational sources outside of E.E., that I will grade this now and post additional questions as needed.


Expert Comment

ID: 7090838
Thank you; if more is needed, we are here to respond.
:) Moondancer - EE Moderator

Expert Comment

ID: 9394953
I have the following connect string defined in the VB app to connect to Oracle 8.1.7 db.  

              "DATA SOURCE=dev;" & _
              "USER ID=junkie;PASSWORD=junk;
The question I have is how do I get the VB App or a perl script to run an Oracle stored procedure?

Featured Post

Get your problem seen by more experts

Be seen. Boost your question’s priority for more expert views and faster solutions

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

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 …
Using SQL Scripts we can save all the SQL queries as files that we use very frequently on our database later point of time. This is one of the feature present under SQL Workshop in Oracle Application Express.
Video by: Steve
Using examples as well as descriptions, step through each of the common simple join types, explaining differences in syntax, differences in expected outputs and showing how the queries run along with the actual outputs based upon a simple set of dem…
This video shows how to Export data from an Oracle database using the Datapump Export Utility.  The corresponding Datapump Import utility is also discussed and demonstrated.

569 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