Link to home
Start Free TrialLog in
Avatar of jnowlin
jnowlin

asked on

What Drivers or Library Files are Needed for Personal Oracle8i

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
Avatar of ORACLEtune
ORACLEtune

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.

.
Avatar of Mark Geerlings
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.
Avatar of jnowlin

ASKER

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
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
Avatar of jnowlin

ASKER

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





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
Avatar of jnowlin

ASKER

Thank you k_murli_krishna.
I will try this.
Jim
Avatar of jnowlin

ASKER

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
Avatar of jnowlin

ASKER

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
Avatar of jnowlin

ASKER

listening...
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.
Avatar of jnowlin

ASKER

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.
ASKER CERTIFIED SOLUTION
Avatar of k_murli_krishna
k_murli_krishna
Flag of India image

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
Have you been helped, or is more needed?
Moondancer - EE Moderator
Avatar of jnowlin

ASKER

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
Thank you; if more is needed, we are here to respond.
:) Moondancer - EE Moderator
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?