%META:TOPICPARENT{name="ErrorMessagesU"}% = Error Message: {{{Unable to Allocate Server Handle}}} = "Server handle" errors suggest environment or compatibility problems. If you receive "server handle" errors, take the action indicated for your target database and driver type. %TOC% == Oracle == === Oracle with Single-Tier "Lite" Edition Drivers === # Log in to the machine that contains the problem driver. # Ensure that this machine contains a full Oracle database install, Net 8/9/10/11, or an Instant Client. # Ensure the oracle user owns the driver installation. # Ensure the "bitness" of the driver matches the "bitness" of the Oracle instance, i.e., 32-bit or 64-bit. # Ensure ORACLE_HOME passes the path to local Oracle installation. # Ensure ORACLE_SID names the target ORACLE_SID wherever it resides. # Identify the directory that contains the Oracle libraries. Instant Client installations generally consist of one directory that serves as both $ORACLE_HOME and the library directory. Full installations and Oracle client installations tend to have lib, lib32, and/or lib64 sub-directories that contain various libraries. You want to identify the library directories that match the bit format of your OpenLink driver. # Confirm that the library path variable appropriate to your OS includes the directory that contains the relevant Oracle libraries. The library variables are: | **AIX** | LIBPATH | | **HP-UX** | 32-bit libraries: SHLIB_PATH %BR% 64-bit libraries: LD_LIBRARY_PATH | | **All Other Unix-like OS** | LD_LIBRARY_PATH | | **Windows** | PATH | # Test your connection. === Oracle with Multi-Tier Drivers === # Log in to the machine that contains your OpenLink server components. # Ensure that this machine contains a full Oracle database install, Net 8/9/10/11, or an InstantClient. # Ensure the oracle user owns the installation. # Ensure the "bitness" of the driver matches the "bitness" of the Oracle instance, i.e., 32-bit or 64-bit. # Ensure ORACLE_HOME passes the path to local Oracle installation. # Ensure ORACLE_SID names the target ORACLE_SID wherever it resides. # Identify the directory that contains the Oracle libraries. Instant Client installations generally consist of one directory that serves as both $ORACLE_HOME and the library directory. Full installations and Oracle client installations tend to have lib, lib32, and/or lib64 sub-directories that contain various libraries. You want to identify the library directories that match the bit format of your OpenLink installation. # Confirm that the library path variable appropriate to your OS includes the directory that contains the relevant Oracle libraries. The library variables are: | **AIX** | LIBPATH | | **HP-UX** | 32-bit libraries: SHLIB_PATH %BR% 64-bit libraries: LD_LIBRARY_PATH | | **All Other Unix-like OS** | LD_LIBRARY_PATH | | **Windows** | PATH | # cd into the bin sub-directory of your OpenLink installation. # Use a text editor to open the oplrqb.ini file. # Locate the [Environment ORACLE*] section that corresponds to your OpenLink database agent. For example: {{{ [Environment ORACLE100] ORACLE_HOME = /dbs5/oracle9i/64bit/v9.2.0.1.0 ORACLE_SID = ora92 LD_LIBRARY_PATH = /dbs5/oracle9i/64bit/v9.2.0.1.0/lib }}} # Ensure that the ORACLE_HOME, ORACLE_SID, and LIBPATH/SHLIB_PATH/LD_LIBRARY_PATH variables are properly set here as well. # Exit the file. # Execute the following command: oplshut +reinit # Run ls and identify your database agent binary. A few of the possibilities are: #* ora100_mv #* ora100_sv #* ora90_mv #* ora90_sv #* ora81_mv #* ora81_sv # Confirm that your database agent produces a version string by running passing -? to your agent on the command line. For example: {{{ bash-2.03$ ./ora90_mv -? Oracle 9.x Database Agent (multi threaded) Version 1.29 as of Mon Nov 13 2006 (Release 6.0 cvsid 00084). Compiled for Solaris 5.8 (sparc-sun-solaris2.8-32) Copyright (C) OpenLink Software. }}} # Test your connection. == Progress == "Server handle" errors suggest environment or compatibility problems. If you receive "server handle" errors, take the following action: === Progress with Single-Tier "Lite" Edition Drivers === # Ensure that your Progress database is running in sockets mode. # Ensure that you are passing the correct sockets parameters (-S service name or port, -H hostname or IP address, -N network, -db /path/to/database) in the Database Options field of your DSN. For example: {{{ -S pro82a -N tcp -H saturnus.example.com -S pro82a -N tcp -H saturnus.example.com -db C:\wrk\my_prog.db }}} # Ensure the value passed to -S is [[TroubleshootingUDAServicesFiles|defined with the same name and number]] in the {{{services}}} file on the clients on the Progress host. # Leave the Server Options field blank. # If you have a Windows client, search it for progress.ini. Place a copy of progress.ini in your client's {{{%WINDOWS%}}} directory. (Normally this directory is either located at {{{C:\Windows\}}} (Windows 95/98/ME) or {{{C:\WINNT\}}} (Windows NT/2000/XP/2003), but it may be located elsewhere.) # Add the full path to your local Progress {{{\bin}}} directory to your System {{{PATH}}} variable. # If using IIS: ## Create a new folder, e.g., {{{C:\temp\}}}, and ensure that the "{{{Everyone}}}" group has "Full Control" over this folder. ## Add {{{-T c:\temp}}} (modified as needed to reflect the folder you just created) to Session Options, following the default {{{-d mdy}}} entry, in the ODBC Data Source -- {{{ -d mdy -T c:\temp }}} # Test your connection. === Progress with Multi-Tier Drivers === # Determine if your Progress database is running in sockets or shared memory mode. # If your database is running in shared memory mode, leave the Database Server or DB Connect Options field of your Data Source blank. #* If your database is running in sockets mode, pass the sockets parameters ({{{-S}}}, {{{-H}}}, {{{-N}}}, {{{-db}}}, respectively for **S**ervice, **H**ost, **N**etwork, and **d**ata**b**ase). For example: {{{ -S pro82a -N tcp -H saturnus.example.com -S pro82a -N tcp -H saturnus.example.com -db C:\wrk\my_prog.db }}} # Use a text editor to open the Broker Rulebook (typically found at {{{~/openlink/bin/oplrqb.ini}}}, alongside the Broker executable, {{{oplrqb}}}). # Locate the Environment corresponding to the relevant Agent Template, typically {{{[generic_proxxx]}}}. For example: {{{ [Environment PROGRESS82A] ;TABLEVIEW = ;TABLEVIEW_QUALIFIER = Y ;DEADLOCK_TIMEOUT = 60 ; Seconds to wait for lock to release ;INSERT_LOGICAL = Y ;UPDATE_LOGICAL = Y ;MIN_FIELD_LEN = ;MAX_FIELD_LEN = CURSOR_SENSITIVITY = LOW DLC = D:\DBS\Progress\Pro82a PATH = D:\DBS\Progress\Pro82a\BIN;D:\WINNT\System32 }}} # Confirm that the environment variables ({{{DLC}}}, {{{PATH}}}) are correct for your environment. # Save any changes and exit the file. # Restart your Request Broker. # Test your connection. == Evidence == * Data Source Attributes * Exact DBMS Version (e.g., Progress 8.1A04, Oracle 8.1.7.3) * Single-Tier Driver Version, Date, and File Details