Solved

What Drivers or Library Files are Needed for Personal Oracle8i

Posted on 2002-05-01
18
915 Views
Last Modified: 2007-11-27
Hello.

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?

Jim
0
Comment
Question by:jnowlin
  • 8
  • 2
  • 2
  • +4
18 Comments
 
LVL 5

Expert Comment

by:ORACLEtune
Comment Utility
hi,

did you install OLE:

http://technet.oracle.com/software/content.html


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

Oracle Objects for OLE Installation Notes
Version 8.1.7.3.15


----------------------------------------------------

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.

.
0
 
LVL 5

Expert Comment

by:ORACLEtune
Comment Utility
0
 
LVL 34

Expert Comment

by:Mark Geerlings
Comment Utility
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.
0
 

Author Comment

by:jnowlin
Comment Utility
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?

Jim
'till the next step
0
 
LVL 5

Expert Comment

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


sora
0
 

Author Comment

by:jnowlin
Comment Utility
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?

Jim





0
 
LVL 17

Expert Comment

by:k_murli_krishna
Comment Utility
jnowlin:

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
0
 

Author Comment

by:jnowlin
Comment Utility
Thank you k_murli_krishna.
I will try this.
Jim
0
 

Author Comment

by:jnowlin
Comment Utility
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.
Jim
0
PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

 

Author Comment

by:jnowlin
Comment Utility
k_murli_krishna,

"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.

Jim
0
 

Author Comment

by:jnowlin
Comment Utility
listening...
0
 
LVL 34

Expert Comment

by:Mark Geerlings
Comment Utility
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.
0
 

Author Comment

by:jnowlin
Comment Utility
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.
0
 
LVL 17

Accepted Solution

by:
k_murli_krishna earned 200 total points
Comment Utility
"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
0
 
LVL 1

Expert Comment

by:Moondancer
Comment Utility
Have you been helped, or is more needed?
Moondancer - EE Moderator
0
 

Author Comment

by:jnowlin
Comment Utility
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.

Jim
0
 
LVL 1

Expert Comment

by:Moondancer
Comment Utility
Thank you; if more is needed, we are here to respond.
:) Moondancer - EE Moderator
0
 

Expert Comment

by:ridlehm
Comment Utility
I have the following connect string defined in the VB app to connect to Oracle 8.1.7 db.  

Con1_Open "PROVIDER=MSDAORA;" & _
              "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?
0

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Join & Write a Comment

Suggested Solutions

This article started out as an Experts-Exchange question, which then grew into a quick tip to go along with an IOUG presentation for the Collaborate confernce and then later grew again into a full blown article with expanded functionality and legacy…
Working with Network Access Control Lists in Oracle 11g (part 2) Part 1: http://www.e-e.com/A_8429.html Previously, I introduced the basics of network ACL's including how to create, delete and modify entries to allow and deny access.  For many…
Via a live example show how to connect to RMAN, make basic configuration settings changes and then take a backup of a demo database
This video shows how to recover a database from a user managed backup

763 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

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now