UPD: Oracle ODBC Setup and Connection Issues in VB 3.0
ID: Q99706
|
The information in this article applies to:
-
Microsoft Visual Basic Professional Edition for Windows, version 3.0
SUMMARY
The information given further below was taken from the latest version
of the ORACLE.TXT file. A version of ORACLE.TXT was provided with Visual
Basic version 3.0, but a later version (the one shown below) was provided
with Microsoft Access version 1.1 for Windows. This updated version is
provided in the More Information section below.
To install the earlier version of ORACLE.TXT on your computer, run Data
Access Setup and install the Oracle ODBC driver. The ORACLE.TXT file will
be installed in your WINDOWS\SYSTEM directory. Then you can update the
file with the new information provided in the More Information section
below.
The ORACLE.TXT file fails to mention that the SQL*NET drivers are not
provided with Visual Basic. In order to use the information in this
article, you must acquire the SQL*NET drivers from Oracle. You can
contact Oracle at 1-800-345-DBMS.
MORE INFORMATION
SETTING UP THE ODBC ORACLE DRIVER FOR USE WITH THE SQL*NET FOR WINDOWS DLLs
This file discusses how to set up the ODBC ORACLE driver to run with your
ORACLE Server software. To use the ODBC ORACLE driver with any large
application, such as Microsoft Access, you must use the SQL*Net for Windows
DLLs. Because the ODBC ORACLE driver is designed to use ORACLE Server
version 6 and the SQL*Net for Windows DLLs are designed to use ORACLE
Server version 7, you must be careful to configure your system correctly.
If you do not have the SQL*Net for Windows DLLs, or, after following the
instructions in this file, you are still unable to connect to ORACLE Server
with SQL*Net, you can contact Oracle Corp. at 1-800-345-DBMS.
If ORACLE Server Version 6 is Already Installed
To set up the ODBC ORACLE driver and the SQL*Net for Windows DLLs if you
already have ORACLE Server version 6 on your system:
- Make sure you have the correct versions of ORACLE products, including
at least one SQL*Net protocol.
Product Version
-------------------------------- -----------
ORACLE Installer 3.0.8.3.7
Required Support Files 7.0.12.1.0
SQL*Net Named Pipes for Windows 1.1.1.3
SQL*Net SPX for Windows 1.1.1.5
SQL*Net TCP/IP for Windows 1.1.7.6
- Test your current SQL*Net connection by using an ORACLE tool such as
SQL*Plus for Windows.
- Search for and delete all copies of ORA6WIN.DLL from your system. A new
(backwards compatible) version of ORA6WIN.DLL will be installed with
the ODBC ORACLE driver.
- Run the ORACLE Installer program. When asked for your ORACLE
installation directory, use the suggested default directory C:\ORAWIN.
- Run the ORACLE Installer in the ORACLE group in the Program Manager:
- Install the files from the Required Support Files disk.
- Install the SQL*Net protocol you will be using. For more
information, see the ORACLE documentation.
- If the following line exists, remove it from your AUTOEXEC.BAT file:
SET CONFIG=<oracle_configuration_file>
Add the following line to your AUTOEXEC.BAT file:
SET CONFIG_FILES=C:\WINDOWS\ORACLE.INI
NOTE: If you are using the MS-DOS 6.0 operating system, add the
following line to the end of your AUTOEXEC.BAT file:
SET CONFIG=
ORACLE Server first checks the CONFIG environment variable for the path
of the ORACLE configuration file. If the CONFIG variable is not set,
ORACLE Server checks the CONFIG_FILES variable. Because MS-DOS 6.0 can
use the CONFIG environment variable during system startup, you must
clear this variable before leaving your AUTOEXEC.BAT file. Otherwise,
ORACLE Server will use its value as the path of the ORACLE
configuration file.
- Make sure your PATH variable includes the BIN subdirectories of your
<oraclehome> directory and the \ORAWIN directory. For example, if your
<oraclehome> directory is C:\ORACLE6, add the following line to your
AUTOEXEC.BAT file:
SET PATH=%PATH%;C:\ORACLE6\BIN;C:\ORAWIN\BIN
- Paste the contents of your CONFIG.ORA file at the start of your
ORACLE.INI file. For example, if your CONFIG.ORA file contains:
LANGUAGE=American_America.US7ASCII
ORACLE_HOME=C:\ORACLE6
MACHINE_TYPE=J
SQLPATH=C:\ORACLE6
WIN_REMOTE_SESSIONS=3
LOCAL=p:MyServer
and your ORACLE.INI file contains:
[Oracle]
ORACLE_HOME=C:\ORAWIN
LANGUAGE=American_America.US7ASCII
NLS_LANG=ENGLISH
WIN_LOCAL_SESSIONS=1
TCP_VENDOR=LANMAN
TCP_SERVICES_FILE=C:\WINDOWS\SERVICES
then your modified ORACLE.INI file should contain:
LANGUAGE=American_America.US7ASCII
ORACLE_HOME=C:\ORACLE6
MACHINE_TYPE=J
SQLPATH=C:\ORACLE6
WIN_REMOTE_SESSIONS=3
LOCAL=p:MyServer
[Oracle]
ORACLE_HOME=C:\ORAWIN
LANGUAGE=American_America.US7ASCII
NLS_LANG=ENGLISH
WIN_LOCAL_SESSIONS=1
TCP_VENDOR=LANMAN
TCP_SERVICES_FILE=C:\WINDOWS\SERVICES
NOTE: The ORACLE_HOME variable is set twice, once to point to the
version 6 <oraclehome> directory and once to point to C:\ORAWIN.
- If it is not already running, start Windows. Insert the ODBC Setup disk
in drive A, choose Run from the Windows Program Manager (or File
Manager) File menu, and then type "a:\setup.exe" in the Command Line
box. For information about using the ODBC Setup program, see the online
Help.
- Run the ODBC Control Panel option and add a data source for your ORACLE
server. For information about using the ODBC Control Panel option, see
the online Help.
You should now be able to run the ODBC ORACLE driver. You should also be
able to run ORACLE version 6 and version 7 tools and applications written
for Windows. All of these can run over SQL*Net for Windows DLLs.
NOTE: Due to differences in memory use, this configuration may not allow
you to run ORACLE MS-DOS-only tools or applications.
If ORACLE Server is Not Installed
To set up the ODBC ORACLE driver and the SQL*Net for Windows DLLs if you do
not have any versions of ORACLE Server on your system:
- Make sure that you have the correct versions of ORACLE products,
including at least one SQL*Net protocol.
Product Version
-------------------------------- -----------
ORACLE Installer 3.0.8.3.7
Required Support Files 7.0.12.1.0
SQL*Net Named Pipes for Windows 1.1.1.3
SQL*Net SPX for Windows 1.1.1.5
SQL*Net TCP/IP for Windows 1.1.7.6
- Install the network software connecting your client workstation to the
server and check that a connection can be made. For example, for the
TCP/IP protocol, type "ping <servername>". This connection must work
before you install the SQL*Net for Windows DLLs.
- Run the ORACLE Installer program. When asked for your ORACLE
installation directory, use the suggested default directory C:\ORAWIN.
- Run the ORACLE Installer in the ORACLE group in the Program Manager:
- Install the files from the Required Support Files disk.
- Install the SQL*Net protocol you will be using. For more
information, see the ORACLE documentation.
- Add the following line to your AUTOEXEC.BAT file:
SET CONFIG_FILES=C:\WINDOWS\ORACLE.INI
NOTE: If you are using MS-DOS 6.0, add the following line to the end
of your AUTOEXEC.BAT file:
SET CONFIG=
ORACLE Server first checks the CONFIG environment variable for the path
of the ORACLE configuration file. If the CONFIG variable is not set,
ORACLE Server checks the CONFIG_FILES variable. Because MS-DOS 6.0 can
use the CONFIG environment variable during system startup, you must
clear this variable before leaving your AUTOEXEC.BAT file. Otherwise,
ORACLE Server will use its value as the path of the ORACLE
configuration file.
- Make sure your PATH variable includes the C:\ORAWIN\BIN directory. To
do this, add the following line to your AUTOEXEC.BAT file:
SET PATH=%PATH%;C:\ORAWIN\BIN
- So that the ODBC ORACLE driver can use ORACLE version 7 error messages,
copy the version 7 error messages to the directory where the ODBC
ORACLE driver searches for error messages:
COPY C:\ORAWIN\RDBMS70\*.MSB C:\ORAWIN\DBS
- Search for and delete all copies of ORA6WIN.DLL from your system. A new
(backwards compatible) version of ORA6WIN.DLL will be installed with
the ODBC ORACLE driver.
- If it is not already running, start Windows. Insert the ODBC Setup disk
in drive A, choose Run from the Windows Program Manager (or File
Manager) File menu, and then type "a:\setup.exe" in the Command Line
box. For information about using the ODBC setup program, see the online
Help.
- Run the ODBC Control Panel option and add a data source for your ORACLE
server. For information about using the ODBC Control Panel option, see
the online Help.
You should now be able to run the ODBC ORACLE driver.
ORACLE Error Messages
The following section explains what to do when you encounter various error
messages from ORACLE Server through the ODBC ORACLE driver.
ORA-xxxxx Message not found; product = RDBMS facility = ORA language = NULL
The ODBC ORACLE driver searches for error messages in the subdirectory that
normally contains the ORACLE version 6 error messages. If you receive this
error, it means that the ODBC ORACLE driver cannot find the error messages.
To fix this:
- Check that the CONFIG_FILES variable is set in your AUTOEXEC.BAT file
and that it points to your ORACLE configuration file (ORACLE.INI). If
you are using MS-DOS 6.0, check that the CONFIG environment variable is
either not set or is cleared in the last line of your AUTOEXEC.BAT
file.
- Check that the ORACLE_HOME variable is set correctly in your
C:\WINDOWS\ORACLE.INI file.
If ORACLE Server version 6 was already installed on your system,
ORACLE_HOME should be set twice. The first time, it should be set to
your version 6 <oraclehome> directory, usually C:\ORACLE6. The second
time, in the [Oracle] section of the file, it should be set to
C:\ORAWIN.
If ORACLE Server was not installed on your system, ORACLE_HOME should
be set to C:\ORAWIN.
- If you did not have any ORACLE software on your workstation, make sure
that you copied all the .MSB files from C:\ORAWIN\RDBMS70 to
C:\ORAWIN\DBS.
The ODBC ORACLE driver should now be able to print the ORACLE Server error
message, enabling you to fix the problem that generated the error.
ORA-03121 No interface driver connected -- function not performed
The ODBC ORACLE driver cannot find ORA6WIN.DLL or one of the SQL*Net
components. Check the following:
- Without running the ODBC ORACLE driver, make sure the network
connection is valid. For example, type "ping <servername>" for a TCP/IP
connection.
- Search for and delete old versions of ORA6WIN.DLL. The correct version
of the ORA6WIN.DLL was installed by the ODBC ORACLE driver in the
SYSTEM subdirectory of your Windows directory.
- Check that the PATH variable contains the BIN subdirectory of the
<oraclehome> directory (usually C:\ORACLE6\BIN or C:\ORAWIN\BIN).
- Check that the CONFIG_FILES variable is set in your AUTOEXEC.BAT file
and that it points to your ORACLE configuration file (ORACLE.INI). If
you are using MS-DOS 6.0, check that the CONFIG environment variable
is either not set or is cleared in the last line of your AUTOEXEC.BAT
file.
- Check that SQLTCP.DLL (for TCP/IP), SQLSPX.DLL (for Novell NetWare
IPX/SPX), or SQLNMP.DLL (for Named Pipes) is in the ORACLE BIN
directory specified in the PATH variable. (If not, SQL*Net was not
installed correctly.)
- Check that ORA7WIN.DLL and COREWIN.DLL are in the ORACLE BIN directory
specified in the PATH variable. (If not, SQL*Net was not installed
correctly.)
ORA-06120 NETTCP: network driver not loaded
This error can occur when ORA6WIN.DLL is loaded but cannot find another
SQL*Net component, such as SQLTCP.DLL.
- Check that the directories containing the SQL*Net components are in
your PATH variable.
- Check that the ORACLE_HOME variable is set correctly in your
C:\WINDOWS\ORACLE.INI file.
If ORACLE Server version 6 was already installed on your system,
ORACLE_HOME should be set twice. The first time, it should be set to
your version 6 <oraclehome> directory, usually C:\ORACLE6. The second
time, in the [Oracle] section of the file, it should be set to
C:\ORAWIN.
If ORACLE Server was not installed on your system, ORACLE_HOME should
be set to C:\ORAWIN.
- Search for and delete old versions of ORA6WIN.DLL. The correct version
of the ORA6WIN.DLL was installed by the ODBC ORACLE driver in the
SYSTEM subdirectory of your Windows directory.
- Check that you have followed all the instructions for the SQL*Net
driver you are using. For example, for the SQL*Net for TCP/IP driver,
make sure that all the TSRs, such as NMTSR and SOCKTSR, are loaded.
(If not, SQL*Net was not installed correctly.)
ORA-0941: Error Translating Logical Name
This error may occur when you attempt to access an Oracle server via ODBC
from Microsoft Access or Microsoft Visual Basic running on a client
workstation that uses the SQL*Net TCP/IP protocol for Windows. When this
error occurs, the CONFIG variable in your AUTOEXEC.BAT file that points to
the ORACLE.INI file is invalid. To resolve this error, use the instructions
in step number 6 of the "If ORACLE Server Version 6 is Already Installed"
section above.
ODBC Error Messages
The following section explains what to do when you encounter various ODBC
error messages.
IM003 Driver specified by data source could not be loaded
The ODBC Driver Manager is attempting to load the ODBC ORACLE driver
(SQORA.DLL). SQORA.DLL loads ORA6WIN.DLL to connect to the ORACLE server.
You can receive this message if it cannot find ORA6WIN.DLL or finds the
wrong version of ORA6WIN.DLL.
- Search for and delete old versions of ORA6WIN.DLL. The correct version
of the ORA6WIN.DLL was installed by the ODBC ORACLE driver in the
SYSTEM subdirectory of your Windows directory.
- Make sure that ORA6WIN.DLL was installed when the ODBC ORACLE driver
was installed.
Additional query words:
3.00 ODBC Update3.00
Keywords : kbDatabase kbODBC
Version : 3.00
Platform : WINDOWS
Issue type :
Last Reviewed: June 1, 1999