Configuration
Do I need to configure my environment to support my JDBC connections?
Ensure that the CLASSPATH environment variable is set on the machine that contains your JDBC client application.
CLASSPATH appears in the Windows System Utility (Control Panel). Windows users need to navigate to the portion of the utility that displays their User and System settings.
Unix users may use echo to display their CLASSPATH setting. For example: bash$ echo $CLASSPATH /home/openlink/v51/mt/jdk1.4
CLASSPATH must pass the full path to an OpenLink JDBC opljdbc.jar, opljdbc2.jar, opljdbc3.jar or megathin.jar, megathin2.jar file depending on your JDK.
Configuration
Do I need to configure my environment to support my JDBC connections?
Ensure that the CLASSPATH environment variable is set on the machine that contains your JDBC client application.
CLASSPATH appears in the Windows System Utility (Control Panel). Windows users need to navigate to the portion of the utility that displays their User and System settings.
Unix users may use echo to display their CLASSPATH setting. For example: bash$ echo $CLASSPATH /home/openlink/v51/mt/jdk1.4
CLASSPATH must pass the full path to an OpenLink JDBC opljdbc.jar, opljdbc2.jar, opljdbc3.jar or megathin.jar, megathin2.jar file depending on your JDK.
Configuration
Do I need to configure my environment to support ODBC-ODBC Bridge connectivity?
You need to ensure that your 3rd party drivers connect to the target database. You need to ensure that openlink.sh or openlink.csh is run on Unix machines that contain OpenLink Software. openlink.sh should be run in a Bourne or Bash shell. openlink.csh should be run in C shell.
Configuration
Do users need to employ special configuration to operate in a firewalled environment?
Single-Tier users should not need to open ports to accommodate the Single-Tier driver. However, ports may need to be opened to facilitate connections between the database native client and the database to which it connects.
Multi-Tier users need to take the following action, if a firewall surrounds the machine that contains the Multi-Tier server components
Configuration
Do users need to employ special configuration to operate in a firewalled environment?
Single-Tier users should not need to open ports to accommodate the Single-Tier driver. However, ports may need to be opened to facilitate connections between the database native client and the database to which it connects.
Multi-Tier users need to take the following action, if a firewall surrounds the machine that contains the Multi-Tier server components
Configuration
How Do I Assist A User Who Does Not Know What Values To Pass To His Or Her Variables?
All database specific environment variables should appear in the database user's .profile (unix) or other, standard configuration file. Users may open these files to ascertain which values need to appear in their Single-Tier openlink.ini files and their Multi-Tier oplrqb.ini files. In fact, users should execute the database user's .profile before installing Single-Tier drivers or Multi-Tier server components. The installers will detect the variables and write them into the appropriate location. The standardized, ODBC and JDBC variables pass the following values:
-- CLASSPATH A JAVA client variable that passes the full path to an OpenLink JDBC .jar file.
-- LD_LIBRARY_PATH A generic library path variable that appends the full path to OpenLink's lib sub-directory.
-- LIBPATH An AIX library path variable that appends the full path to OpenLink's lib sub-directory.
-- ODBCINI Passes the full path to ~/openlink/bin/odbc.ini.
-- ODBCINSTINI Passes the full path to ~/openlink/bin/odbcinst.ini.
-- OPENLINKINI This Single-Tier variable passes the full path to ~/openlink/bin/openlink.ini.
-- PATH Appends the full path to OpenLink's bin sub-directory.
-- SHLIB_PATH An HP/UX library path variable that appends the full path to OpenLink's lib sub-directory.
Configuration
How Do I Assist A User Who Does Not Know What Values To Pass To His Or Her Variables?
All database specific environment variables should appear in the database user's .profile (unix) or other, standard configuration file. Users may open these files to ascertain which values need to appear in their Single-Tier openlink.ini files and their Multi-Tier oplrqb.ini files. In fact, users should execute the database user's .profile before installing Single-Tier drivers or Multi-Tier server components. The installers will detect the variables and write them into the appropriate location. The standardized, ODBC and JDBC variables pass the following values:
-- CLASSPATH A JAVA client variable that passes the full path to an OpenLink JDBC .jar file.
-- LD_LIBRARY_PATH A generic library path variable that appends the full path to OpenLink's lib sub-directory.
-- LIBPATH An AIX library path variable that appends the full path to OpenLink's lib sub-directory.
-- ODBCINI Passes the full path to ~/openlink/bin/odbc.ini.
-- ODBCINSTINI Passes the full path to ~/openlink/bin/odbcinst.ini.
-- OPENLINKINI This Single-Tier variable passes the full path to ~/openlink/bin/openlink.ini.
-- PATH Appends the full path to OpenLink's bin sub-directory.
-- SHLIB_PATH An HP/UX library path variable that appends the full path to OpenLink's lib sub-directory.
Configuration
How Do I Configure An JDBC-ODBC Bridge Connection?
Create a Single-Tier JDBC connection URL that passes the following values:
jdbc:openlink://ODBC/DSN=Valid ODBC Data Source/UID=database username/PWD=database password
Here are some examples:
jdbc:openlink://ODBC/DSN=Informix Stores7/UID=informix/PWD=informix ;
jdbc:openlink://ODBC/DSN=My Oracle DB/UID=scott/PWD=tiger ;
jdbc:openlink//ODBC/DSN=SQLServer Northwind Database/UID=sa
Configuration
How Do I Configure An JDBC-ODBC Bridge Connection?
Create a Single-Tier JDBC connection URL that passes the following values:
jdbc:openlink://ODBC/DSN=Valid ODBC Data Source/UID=database username/PWD=database password
Here are some examples:
jdbc:openlink://ODBC/DSN=Informix Stores7/UID=informix/PWD=informix ;
jdbc:openlink://ODBC/DSN=My Oracle DB/UID=scott/PWD=tiger ;
jdbc:openlink//ODBC/DSN=SQLServer Northwind Database/UID=sa
Configuration
How Do I Configure An ODBC-JDBC Bridge Connection?
Unix Single-Tier users pass the following values in your ODBC-JDBC Bridge Data Source:
-- Name - Any Descriptive Title ;
-- Database Name - JDBC Driver Name String: openlink.jdbc3.Driver ;
-- Options - Functional JDBC connection URL.: jdbc:openlink://localhost:5000/SVT=Oracle 8.1.x/DATABASE=ORCL/UID=scott/PWD=tiger ;
-- Username - JDBC Data Source Userid ;
-- Existing Environment - Pass the value that corresponds to your JRE version: JDBC 1.1, JDBC 1.2, JDBC 1.3, or JDBC 1.4.
Windows Single-Tier users pass the following values in your ODBC-JDBC Bridge Data Source:
-- Data Source Name - Any Descriptive Title ;
-- JDBC Driver - JDBC Driver Name String: openlink.jdbc3.Driver ;
-- URL String - Functional JDBC connection URL.: jdbc:openlink://localhost:5000/SVT=Oracle 8.1.x/DATABASE=ORCL/UID=scott/PWD=tiger ;
Multi-Tier users pass the following values in your ODBC-JDBC Bridge Data Source Names:
-- Name - Any Descriptive Title ;
-- Domain (a.k.a 'ServerType') - Pass the value that corresponds to your JRE version: JDBC 1.1, JDBC 1.2, JDBC 1.3, or JDBC 1.4. ;
-- Hostname - Hostname or IP of the machine that contains OpenLink's server components ;
-- Database - JDBC Driver Name String: openlink.jdbc3.Driver ;
-- Options - Functional JDBC connection URL.: jdbc:openlink://localhost:5000/SVT=Oracle 8.1.x/DATABASE=ORCL/UID=scott/PWD=tiger ;
-- Login ID - Blank
Configuration
How Do I Configure An ODBC-JDBC Bridge Connection?
Unix Single-Tier users pass the following values in your ODBC-JDBC Bridge Data Source:
-- Name - Any Descriptive Title ;
-- Database Name - JDBC Driver Name String: openlink.jdbc3.Driver ;
-- Options - Functional JDBC connection URL.: jdbc:openlink://localhost:5000/SVT=Oracle 8.1.x/DATABASE=ORCL/UID=scott/PWD=tiger ;
-- Username - JDBC Data Source Userid ;
-- Existing Environment - Pass the value that corresponds to your JRE version: JDBC 1.1, JDBC 1.2, JDBC 1.3, or JDBC 1.4.
Windows Single-Tier users pass the following values in your ODBC-JDBC Bridge Data Source:
-- Data Source Name - Any Descriptive Title ;
-- JDBC Driver - JDBC Driver Name String: openlink.jdbc3.Driver ;
-- URL String - Functional JDBC connection URL.: jdbc:openlink://localhost:5000/SVT=Oracle 8.1.x/DATABASE=ORCL/UID=scott/PWD=tiger ;
Multi-Tier users pass the following values in your ODBC-JDBC Bridge Data Source Names:
-- Name - Any Descriptive Title ;
-- Domain (a.k.a 'ServerType') - Pass the value that corresponds to your JRE version: JDBC 1.1, JDBC 1.2, JDBC 1.3, or JDBC 1.4. ;
-- Hostname - Hostname or IP of the machine that contains OpenLink's server components ;
-- Database - JDBC Driver Name String: openlink.jdbc3.Driver ;
-- Options - Functional JDBC connection URL.: jdbc:openlink://localhost:5000/SVT=Oracle 8.1.x/DATABASE=ORCL/UID=scott/PWD=tiger ;
-- Login ID - Blank
Configuration
How Do I Configure An ODBC-ODBCBridge Connection?
Multi-Tier users pass the following values in your Data Source Names:
-- Name - Any Descriptive Title
-- Domain (aka 'ServerType') - Odbc
-- Hostname - Hostname or IP of machine containing OpenLink server components
-- Database - Exact name of 3rd Party Data Source
-- Username - Database username, if required
-- Server/Options - Blank
Single-Tier users pass a descriptive title in the Data-Source Name field of the Data Sources. Then, use the System, User, and File dialogs to choose the 3rd party Data Source to which you want to connect.
Configuration
How Do I Configure An ODBC-ODBCBridge Connection?
Multi-Tier users pass the following values in your Data Source Names:
-- Name - Any Descriptive Title
-- Domain (aka 'ServerType') - Odbc
-- Hostname - Hostname or IP of machine containing OpenLink server components
-- Database - Exact name of 3rd Party Data Source
-- Username - Database username, if required
-- Server/Options - Blank
Single-Tier users pass a descriptive title in the Data-Source Name field of the Data Sources. Then, use the System, User, and File dialogs to choose the 3rd party Data Source to which you want to connect.
Configuration
How Do I Create A Data Source Name?
Users may employ a variety of means to create OpenLink Data Source Names. Consultants should encourage users to use OpenLink's HTTP-Based iODBC Data Sources Administrator or Multi-Tier Administrative Assistant, whenever possible.
Configuration
How Do I Create A Zero Config DSN?
1. Open your server's Administrative Assistant in a Web Browser.
2. Expand the Server Components Administration menu.
3. Expand the Zero Config Administration menu.
4. Click Zero Config Administration by Wizard or Zero Config Administration by Form.
5. Edit an existing Zero Config template or add a new one.
6. Hard-code the value that your users need to connect to the database.
7. Reinitialize the Request Broker to register your Zero Config DSN.
7. Supply the name of the Zero Config DSN to your end users.
You need to provide your end users with the name of your Zero Config DSN. End users take the following action to use the DSN:
1. Create a new DSN using the Windows Data Source Administrator or the Administrative Assistant.
2. Name the new DSN.
3. Expand the server drop down menu that appears on the first screen of the DSN setup dialog.
4. Locate the Zero Config DSN by name.
5. Allow the Zero Config DSN to auto-fill the fields of the new DSN.
6. Save the new DSN.
7. Test.
Configuration
How Do I Create A Zero Config DSN?
1. Open your server's Administrative Assistant in a Web Browser.
2. Expand the Server Components Administration menu.
3. Expand the Zero Config Administration menu.
4. Click Zero Config Administration by Wizard or Zero Config Administration by Form.
5. Edit an existing Zero Config template or add a new one.
6. Hard-code the value that your users need to connect to the database.
7. Reinitialize the Request Broker to register your Zero Config DSN.
7. Supply the name of the Zero Config DSN to your end users.
You need to provide your end users with the name of your Zero Config DSN. End users take the following action to use the DSN:
1. Create a new DSN using the Windows Data Source Administrator or the Administrative Assistant.
2. Name the new DSN.
3. Expand the server drop down menu that appears on the first screen of the DSN setup dialog.
4. Locate the Zero Config DSN by name.
5. Allow the Zero Config DSN to auto-fill the fields of the new DSN.
6. Save the new DSN.
7. Test.
Configuration
How Do I Test My JDBC Connection URL?
Multi-Tier users may use the Admin Assistant to test their JDBC URLs. The following instructions will assist you with this task:
-- Open the Admin Assistant in a Web browser.
-- Expand the Sample Applications menu.
-- Click JDBC Applet Demos.
-- Select your JDK version, as needed.
-- Select the appropriate sample application.
Single-Tier drivers may use the iODBC Data Sources Administrator on Unix platforms. The following instructions will assist you with this task:
-- Open the iODBC Data Sources Administrator in a Web browser.
-- Expand the Sample Applications menu.
-- Click JDBC Applet Demos.
-- Select your JDK version, as needed.
-- Select the appropriate sample application.
Single-Tier drivers may also use the JDBC sample applications on Windows platforms. The following instructions will assist you with this task:
-- Expand your Start menu.
-- Expand your Programs menu.
-- Locate your OpenLink Single-Tier drivers folder.
-- Expand Our OpenLink Single-Tier drivers folder.
-- Expand the JDBC Samples sub-folder.
-- Expand the JDK sub-folder that corresponds to your JDK version.
-- Select the desired application.
Configuration
How Do I Test My JDBC Connection URL?
Multi-Tier users may use the Admin Assistant to test their JDBC URLs. The following instructions will assist you with this task:
-- Open the Admin Assistant in a Web browser.
-- Expand the Sample Applications menu.
-- Click JDBC Applet Demos.
-- Select your JDK version, as needed.
-- Select the appropriate sample application.
Single-Tier drivers may use the iODBC Data Sources Administrator on Unix platforms. The following instructions will assist you with this task:
-- Open the iODBC Data Sources Administrator in a Web browser.
-- Expand the Sample Applications menu.
-- Click JDBC Applet Demos.
-- Select your JDK version, as needed.
-- Select the appropriate sample application.
Single-Tier drivers may also use the JDBC sample applications on Windows platforms. The following instructions will assist you with this task:
-- Expand your Start menu.
-- Expand your Programs menu.
-- Locate your OpenLink Single-Tier drivers folder.
-- Expand Our OpenLink Single-Tier drivers folder.
-- Expand the JDBC Samples sub-folder.
-- Expand the JDK sub-folder that corresponds to your JDK version.
-- Select the desired application.
Configuration
How Do Users Configure The Odbc ini File?
Single-Tier users should use their HTTP-Based iODBC Data Sources Administrator to configure the odbc.ini file. Multi-Tier users may use the Admin Assistant to configure the odbc.ini file. All users may configure odbc.ini with vi or a similar text editor, if no graphical assistant exists.
Configuration
How Do Users Configure The Odbcinst ini File?
Users should not need to configure the odbcinst.ini file. If configuration is necessary, users may edit it with vi or a similar text editor.
Configuration
How Do Users Configure The Openlink ini File?
Users do not want to make manual edits to Unix-based openlink.ini files. Instead, users should perform the following actions, before they install OpenLink drivers:
1. Login to the Unix system.
2. su to the database client user.
3. Execute the database client user's .profile.
4. Run OpenLink's installation procedure.
OpenLink's installation procedure should detect the database client user's environment variables and write them into openlink.ini. If this procedure fails, users's should take the following action:
1. vi the database client user's .profile.
2. Record the variables contained in the file.
3. cd into the /bin sub-directory of the OpenLink installation.
4. vi openlink.ini.
5. Locate the [Environment] section that pertains to the OpenLink driver.
6. Set the appropriate environment variables.
Configuration
How Do Users Configure The Openlink ini File?
Users do not want to make manual edits to Unix-based openlink.ini files. Instead, users should perform the following actions, before they install OpenLink drivers:
1. Login to the Unix system.
2. su to the database client user.
3. Execute the database client user's .profile.
4. Run OpenLink's installation procedure.
OpenLink's installation procedure should detect the database client user's environment variables and write them into openlink.ini. If this procedure fails, users's should take the following action:
1. vi the database client user's .profile.
2. Record the variables contained in the file.
3. cd into the /bin sub-directory of the OpenLink installation.
4. vi openlink.ini.
5. Locate the [Environment] section that pertains to the OpenLink driver.
6. Set the appropriate environment variables.
Configuration
How Do Users Configure The Oplrqb ini File?
Users may use the HTTP-based Administrative Assistant to configure their oplrqb.ini files. There are a wide variety of animated tutorials that explain the Administrative Assistant features. Instruct users to use the Administrative Assistant's refresh feature to initialize changes it makes to the file. Advanced users may edit oplrqb.ini with a text editor. Instruct users to restart the Broker or reinitialize the Broker ( oplshut +reinit ) to initialize changes made to the file.
Configuration
How Do Users Configure The Udbc ini File?
Users may install a Multi-Tier Request Broker archive on the machine that contains their Multi-Tier client components. This provides users with the HTTP-based Administrative Assistant. Users may use the Assistant to configure their udbc.ini files. There are animated tutorials, which explain this process. Text-based instructions appear below:
1. Open the client-side Administrative Assistant in a Web browser.
2. Expand the Client Components Administration menu.
3. Expand the Data Source Name Configuration menu.
4. Expand the Edit Data Sources by Wizard menu.
5. Click Edit UDBC Data Sources.
6. Click Add.
7. Answer the questions posed by the Wizard.
8. Save the DSN and test.
Advanced users may edit udbc.ini with a text editor.
Configuration
How Do Users Configure The Udbc ini File?
Users may install a Multi-Tier Request Broker archive on the machine that contains their Multi-Tier client components. This provides users with the HTTP-based Administrative Assistant. Users may use the Assistant to configure their udbc.ini files. There are animated tutorials, which explain this process. Text-based instructions appear below:
1. Open the client-side Administrative Assistant in a Web browser.
2. Expand the Client Components Administration menu.
3. Expand the Data Source Name Configuration menu.
4. Expand the Edit Data Sources by Wizard menu.
5. Click Edit UDBC Data Sources.
6. Click Add.
7. Answer the questions posed by the Wizard.
8. Save the DSN and test.
Advanced users may edit udbc.ini with a text editor.
Configuration
How Do Users Create Data Source Names?
Single-Tier users may create Data Source Names using the following methods:
1. Use the HTTP-Based iODBC Data Sources Administrator.
2. Use the Windows ODBC Data Sources Administrator.
3. Use the Mac OS X OpenLink ODBC Administrator.
4. Use the Mac Classic ODBC Setup PPC.
5. Manually edit Unix-based odbc.ini files.
Multi-Tier users may create Data Source Names using the following methods:
1. Use the HTTP-Based Multi-Tier Administrative Assistant.
2. Use the HTTP-Based iODBC Data Sources Administrator.
3. Use the Windows ODBC Data Sources Administrator.
4. Use the Mac OS X OpenLink ODBC Administrator.
5. Use the Mac Classic ODBC Setup PPC.
6. Manually edit Unix-based odbc.ini files.
Configuration
How Do Users Create Data Source Names?
Single-Tier users may create Data Source Names using the following methods:
1. Use the HTTP-Based iODBC Data Sources Administrator.
2. Use the Windows ODBC Data Sources Administrator.
3. Use the Mac OS X OpenLink ODBC Administrator.
4. Use the Mac Classic ODBC Setup PPC.
5. Manually edit Unix-based odbc.ini files.
Multi-Tier users may create Data Source Names using the following methods:
1. Use the HTTP-Based Multi-Tier Administrative Assistant.
2. Use the HTTP-Based iODBC Data Sources Administrator.
3. Use the Windows ODBC Data Sources Administrator.
4. Use the Mac OS X OpenLink ODBC Administrator.
5. Use the Mac Classic ODBC Setup PPC.
6. Manually edit Unix-based odbc.ini files.
Configuration
How do I configure Multi-Tier drivers, after I have installed them?
Windows and Mac client users do not need to perform additional steps to configure their Multi-Tier clients. Unix client users must ensure that their OpenLink environment variables are set. The following instructions will assist these users with this task:
1. Users must login to their Unix clients.
2. Users must cd into the root of their OpenLink installation.
3. Users may run openlink.sh in a Bash or Bourne shell. Alternatively, users may run openlink.csh in a C shell.
All users must ensure that their server components are properly configured. The following instructions will assist all users with this task:
1. Unix users must login to their Unix servers and cd into the root of their OpenLink installations. These users may run openlink.sh in a Bourne or Bash shell. Alternatively if you are using a C shell, you require openlink.csh.
2. All users must open their Session Rules Books. The Session Rules Book is the oplrqb.ini file, which reside in the /bin sub-directory of the OpenLink installation. Users may open oplrqb.ini with vi, Notepad, or another text editor. Locate the Environment section that corresponds to your OpenLink database agent and set the variables that are appropriate to to your Database setup. Typically, the main information required is the installation directory and location of the database libraries. If you are unsure what these values are, please request them from your Database or System administrator. Typically running the command `env' under the guise of the database owner will provide you with the necessary information
3. Users must start their OpenLink Request Broker services. To do this on Unix, from the shell or terminal prompt run ./oplrqb either from the /bin sub-directory of your OpenLink installation or if openlink.sh/csh has been run, anywhere in the system. Windows users may start oplrqb with their Services Control Panel utility.
Configuration
How do I configure Multi-Tier drivers, after I have installed them?
Windows and Mac client users do not need to perform additional steps to configure their Multi-Tier clients. Unix client users must ensure that their OpenLink environment variables are set. The following instructions will assist these users with this task:
1. Users must login to their Unix clients.
2. Users must cd into the root of their OpenLink installation.
3. Users may run openlink.sh in a Bash or Bourne shell. Alternatively, users may run openlink.csh in a C shell.
All users must ensure that their server components are properly configured. The following instructions will assist all users with this task:
1. Unix users must login to their Unix servers and cd into the root of their OpenLink installations. These users may run openlink.sh in a Bourne or Bash shell. Alternatively if you are using a C shell, you require openlink.csh.
2. All users must open their Session Rules Books. The Session Rules Book is the oplrqb.ini file, which reside in the /bin sub-directory of the OpenLink installation. Users may open oplrqb.ini with vi, Notepad, or another text editor. Locate the Environment section that corresponds to your OpenLink database agent and set the variables that are appropriate to to your Database setup. Typically, the main information required is the installation directory and location of the database libraries. If you are unsure what these values are, please request them from your Database or System administrator. Typically running the command `env' under the guise of the database owner will provide you with the necessary information
3. Users must start their OpenLink Request Broker services. To do this on Unix, from the shell or terminal prompt run ./oplrqb either from the /bin sub-directory of your OpenLink installation or if openlink.sh/csh has been run, anywhere in the system. Windows users may start oplrqb with their Services Control Panel utility.
Configuration
How do I configure Single-Tier drivers, after I have installed them?
Windows and Mac users do not need to perform additional steps to configure their Single-Tier drivers.
Unix users need to ensure that their OpenLink and database environment variables are set. The following instructions will assist Unix users with this task:
1. Users must login to their Unix clients.
2. Users must cd into the root of their OpenLink installation.
3. Users may run openlink.sh in a Bash or Bourne shell. Alternatively, users may run openlink.csh in a C shell.
4. Users must cd into the /bin sub-directory of their OpenLink Single-Tier installations.
5. Users must edit openlink.ini or open the file with a text editor such as vi.
6. Users must identify the Environment section that corresponds to their OpenLink Single-Tier driver.
7. Users must ensure that the relevant variables are set within the Environment section.
Configuration
How do I configure Single-Tier drivers, after I have installed them?
Windows and Mac users do not need to perform additional steps to configure their Single-Tier drivers.
Unix users need to ensure that their OpenLink and database environment variables are set. The following instructions will assist Unix users with this task:
1. Users must login to their Unix clients.
2. Users must cd into the root of their OpenLink installation.
3. Users may run openlink.sh in a Bash or Bourne shell. Alternatively, users may run openlink.csh in a C shell.
4. Users must cd into the /bin sub-directory of their OpenLink Single-Tier installations.
5. Users must edit openlink.ini or open the file with a text editor such as vi.
6. Users must identify the Environment section that corresponds to their OpenLink Single-Tier driver.
7. Users must ensure that the relevant variables are set within the Environment section.
Configuration
I Do Not Know The Correct Values For My Multi-Tier DSN. What Do I Do?
The following guidelines enable you to establish the values that you need to pass in a client/server Data Source Name. Name Provide any descriptive title for your Data Source Name. Limit the name to 32 characters and start with an alphanumeric character. Description You may provide an optional description for your Data Source Name. Server This field passes the hostname or IP address of the machine that contains your OpenLink server components installation. It also passes the TCP port on which the Request Broker listens. If you do not know the hostname or IP address of the machine, you may run hostname on the console. If you do not have access to the console, contact its System Administrator. The Broker's TCP port is recorded in the Session Rules Book. The Session Rules Book is the oplrqb.ini file that appears in the /bin sub-directory of the OpenLink server components installation. It may be opened with any text editor.
Configuration
I do not know the correct values for my Single-Tier DSN. What do I do?
OpenLink's Single-Tier drivers pass a name and a set of database-specific connection parameters. You may name your Data Source Name anything you want, so long as it observes length and special character considerations. However, you should consult your Database Administrator, if you need assistance with the database-specific connection parameters.
The database-specific parameters are parameters that the various database native clients use to connect to the database. OpenLink Product Support Staff is familiar with many database native clients. However, these products change frequently. Moreover, your Database Administrator and Database Vendor will have more intimate knowledge of these products as they instantiate in your environment.
Configuration
I do not know the correct values for my Single-Tier DSN. What do I do?
OpenLink's Single-Tier drivers pass a name and a set of database-specific connection parameters. You may name your Data Source Name anything you want, so long as it observes length and special character considerations. However, you should consult your Database Administrator, if you need assistance with the database-specific connection parameters.
The database-specific parameters are parameters that the various database native clients use to connect to the database. OpenLink Product Support Staff is familiar with many database native clients. However, these products change frequently. Moreover, your Database Administrator and Database Vendor will have more intimate knowledge of these products as they instantiate in your environment.
Configuration
What Are The Differences Among User System And File DSNs?
User DSN - User DSNs are available for use only to the user who created it. User DSN connection parameters are stored in the HKEY_CURRENT_USER/Software/ODBC/ODBC.INI section of the registry.
System DSN - System DSNs are available for use to any user who logs onto the local system. System DSN connection parameters are stored in the HKEY_LOCAL_MACHINE/Software/ODBC/ODBC.INI section of the registry.
File DSN - File DSNs comprise a set of DSN connection parameters that are saved to a text file with a .DSN extension. File DSNs typically appear in C:/Program Files/Common Files/ODBC/Data Sources.
OpenLink recommends use of System DSNs whenever possible.
Configuration
What Are The Differences Among User System And File DSNs?
User DSN - User DSNs are available for use only to the user who created it. User DSN connection parameters are stored in the HKEY_CURRENT_USER/Software/ODBC/ODBC.INI section of the registry.
System DSN - System DSNs are available for use to any user who logs onto the local system. System DSN connection parameters are stored in the HKEY_LOCAL_MACHINE/Software/ODBC/ODBC.INI section of the registry.
File DSN - File DSNs comprise a set of DSN connection parameters that are saved to a text file with a .DSN extension. File DSNs typically appear in C:/Program Files/Common Files/ODBC/Data Sources.
OpenLink recommends use of System DSNs whenever possible.
Configuration
What Configuration Files Are Used By Single-Tier Drivers?
OpenLink's Single-Tier drivers rely on the following configuration files: openlink.sh and openlink.csh - These files appear in the root of Unix-based, Single-Tier installations. They contain ODBC-related environment variables. openlink.ini - This file appears in the /bin sub-directory of Unix-based, Single-Tier installations. It contains database-specific environment variables. odbc.ini - This file appears in the /bin sub-directory of Unix-based, Single-Tier installations. It contains Data Source Name connection attributes. Occasionally, it may contain ODBC tracing parameters. odbcinst.ini - This file appears in the /bin sub-directory of Unix-based, Single-Tier installations. It contains path and setup information for the Single-Tier driver. Windows drivers do not contain these files. Environment variables appear on the Environment or Advanced tab of the System utility. The odbc.ini and odbcinst.ini files are replaced by the HKEY_LOCAL_MACHINE/SOFTWARE/ODBC/ODBC.INI and HKEY_LOCAL_MACHINE/SOFTWARE/ODBC/ODBC.INI sections in the registry.
Configuration
What Configuration Files Are Used By Multi-Tier Drivers?
OpenLink's Multi-Tier drivers comprise a client component and a server component. The following files are used by OpenLink's client drivers: openlink.sh and openlink.csh - These files appear in the root of Unix-based, Multi-Tier installations. They contain ODBC-related environment variables. odbc.ini - This file appears in the /bin sub-directory of Unix-based, Multi-Tier installations. It contains Data Source Name connection attributes. Occasionally, it may contain client communication settings and ODBC tracing parameters. odbcinst.ini - This file appears in the /bin sub-directory of Unix-based, Multi-Tier installations. It contains path and setup information for the Single-Tier driver. The following files are used by OpenLink's server components: openlink.sh and openlink.csh - These files appear in the root of Unix-based, Multi-Tier installations. They contain ODBC-related environment variables. oplrqb.ini - This file appears in the /bin sub-directory of all, Multi-Tier server components installations. This file contains database-specific environment variables. It also contains parameters that affect security, port usage, agent behavior, and client/server communications. www_sv.ini - This file appears in the /bin/w3config sub-directory of all Multi-Tier server components installations. This file contains the Web-based Administrative Assistants username, encrypted password, and listening port.
Windows drivers do not contain the Multi-Tier client files. Client environment variables appear on the Environment or Advanced tab of the System utility. The odbc.ini and odbcinst.ini files are replaced by the HKEY_LOCAL_MACHINE/SOFTWARE/ODBC/ODBC.INI and HKEY_LOCAL_MACHINE/SOFTWARE/ODBC/ODBC.INI sections in the registry. Windows server installations retain the oplrqb.ini and www_sv.ini files.
Configuration
What Configuration Files Are Used By Multi-Tier Drivers?
OpenLink's Multi-Tier drivers comprise a client component and a server component. The following files are used by OpenLink's client drivers: openlink.sh and openlink.csh - These files appear in the root of Unix-based, Multi-Tier installations. They contain ODBC-related environment variables. odbc.ini - This file appears in the /bin sub-directory of Unix-based, Multi-Tier installations. It contains Data Source Name connection attributes. Occasionally, it may contain client communication settings and ODBC tracing parameters. odbcinst.ini - This file appears in the /bin sub-directory of Unix-based, Multi-Tier installations. It contains path and setup information for the Single-Tier driver. The following files are used by OpenLink's server components: openlink.sh and openlink.csh - These files appear in the root of Unix-based, Multi-Tier installations. They contain ODBC-related environment variables. oplrqb.ini - This file appears in the /bin sub-directory of all, Multi-Tier server components installations. This file contains database-specific environment variables. It also contains parameters that affect security, port usage, agent behavior, and client/server communications. www_sv.ini - This file appears in the /bin/w3config sub-directory of all Multi-Tier server components installations. This file contains the Web-based Administrative Assistants username, encrypted password, and listening port.
Windows drivers do not contain the Multi-Tier client files. Client environment variables appear on the Environment or Advanced tab of the System utility. The odbc.ini and odbcinst.ini files are replaced by the HKEY_LOCAL_MACHINE/SOFTWARE/ODBC/ODBC.INI and HKEY_LOCAL_MACHINE/SOFTWARE/ODBC/ODBC.INI sections in the registry. Windows server installations retain the oplrqb.ini and www_sv.ini files.
Configuration
What Do I Do With The DSNs That I Create?
Data Source Names enable applications to establish ODBC connections to database servers. Once you create your Data Source Name, you must ascertain how your application enables you to display, select, and connect to Data Source Names.
Configuration
What Do I Need To Establish A Multi-Tier JDBC Connection?
You need to install one of Sun's Java Runtime Environments (JRE) on the machine that contains your client application.
You need to install one of OpenLink's .jar files on the machine that contains your JAVA client application. (The JAVA version of the .jar should match the JAVA version of the JRE.)
You need to install OpenLink's server components on a machine that contains one of the following entities:
The actual database;
A database native client that connects to the database.
Configuration
What Do I Need To Establish A Multi-Tier JDBC Connection?
You need to install one of Sun's Java Runtime Environments (JRE) on the machine that contains your client application.
You need to install one of OpenLink's .jar files on the machine that contains your JAVA client application. (The JAVA version of the .jar should match the JAVA version of the JRE.)
You need to install OpenLink's server components on a machine that contains one of the following entities:
The actual database;
A database native client that connects to the database.
Configuration
What Do I Need To Establish A Single-Tier JDBC Connection?
You need to install one of Sun's Java Runtime Environments (JRE) on the machine that contains your client application.
You need to install one of OpenLink's .jar files on the machine that contains your JAVA client application. (The JAVA version of the .jar should match the JAVA version of the JRE.)
You need to ensure that a functional database native client is installed on the machine that contains the application and the Single-Tier .jar.
Configuration
What Do I Need To Establish A Single-Tier JDBC Connection?
You need to install one of Sun's Java Runtime Environments (JRE) on the machine that contains your client application.
You need to install one of OpenLink's .jar files on the machine that contains your JAVA client application. (The JAVA version of the .jar should match the JAVA version of the JRE.)
You need to ensure that a functional database native client is installed on the machine that contains the application and the Single-Tier .jar.
Configuration
What Do I Pass In A Multi-Tier JDBC Connection URL?
Multi-Tier JDBC connection URLs take the following form:
jdbc:openlink://<Hostname>:[portnumber] [/UID] [/PWD] [/READONLY] [/SVT]
[/APPLICATION] [/FBS|FETCHBUFFERSIZE] [/ENCRYPTED] [/CHARSET] [/UNICODE]
[/DLF] [/DATABASE] [/OPTIONS] [/DRIVER] .
Here is a description of each of the parameters:
Hostname - Network Alias or IP address of machine that runs an OpenLink Request Broker instance;
Port Number - TCP port on which the Request Broker listens;
/UID - Database username;
/PWD - Database password;
/READONLY - Read-write or read-only session mode;
/SVT - A valid domain alias from the [Domain Aliases] section of the OpenLink server component's oplrqb.ini file. Default domain aliases represent the type of database agent to which the application intends to connect, e.g., DB2, Informix 2000, Oracle 8.1.x. Custom aliases may take any form;
/APPLICATION - The Application name. Enables connectivity when restrictive server side rules screen by application name;
/FBS - (also FETCHBUFFERSIZE) The Fetch Buffer Size. The Fetch Buffer Size is an integer that represents the number of rows to return during one fetch operation;
/ENCRYPTED - Sets the Encrypted flag for outgoing packets. /ENCRYPTED may pass '1', '0', 'Y', 'N', 'y', or 'n.' (This feature is disabled by default.);
/CHARSET - Specifies the charset of remote databases. The default value is read from System.getProperty("file.encoding");
/UNICODE - Instantiates unicode. The unicode connection isn't used by default. The value may be '1', '0', 'Y', 'N', 'y', 'n'(This feature is disabled by default.);
/DLF - Pushes large, binary objects to the end of the result-set. Smaller data types are retrieved first. This enhances performance. /DLF may be set to '1', '0', 'Y', 'N', 'y', or 'n.' (This feature is disabled by default.);
/DATABASE - Actual database name within a particular database environment;
/OPTIONS - Optional parameter that passes specialized database native client connection parameters. Used by users who connect to Progress databases in sockets mode. Also used by users who have 3-Tier or application server architectures;
/DRIVER - The Driver name contained in curly brackets ({}). Used for DSN-Less connections to remote ODBC Drivers.
Here are some sample JDBC connection URLs:
jdbc:openlink://localhost:5000/SVT=Ingres II/DATABASE=iidbdb/UID=ingres/PWD=ingres;
jdbc:openlink://192.128.13.119:5000/SVT=Oracle 8.1.x/DATABASE=ORCL/UID=scott/PWD=tiger;
jdbc:openlink://saturn:5000/SVT=Progress 91D/DATABASE=isports/OPTIONS=-S isports -N tcp -H saturn;
jdbc:openlink://localhost:5000/SVT=SQLServer 2000/DATABASE=Northwind/UID=sa/OPTIONS= -S SATURN;
Configuration
What Do I Pass In A Multi-Tier JDBC Connection URL?
Multi-Tier JDBC connection URLs take the following form:
jdbc:openlink://<Hostname>:[portnumber] [/UID] [/PWD] [/READONLY] [/SVT]
[/APPLICATION] [/FBS|FETCHBUFFERSIZE] [/ENCRYPTED] [/CHARSET] [/UNICODE]
[/DLF] [/DATABASE] [/OPTIONS] [/DRIVER] .
Here is a description of each of the parameters:
Hostname - Network Alias or IP address of machine that runs an OpenLink Request Broker instance;
Port Number - TCP port on which the Request Broker listens;
/UID - Database username;
/PWD - Database password;
/READONLY - Read-write or read-only session mode;
/SVT - A valid domain alias from the [Domain Aliases] section of the OpenLink server component's oplrqb.ini file. Default domain aliases represent the type of database agent to which the application intends to connect, e.g., DB2, Informix 2000, Oracle 8.1.x. Custom aliases may take any form;
/APPLICATION - The Application name. Enables connectivity when restrictive server side rules screen by application name;
/FBS - (also FETCHBUFFERSIZE) The Fetch Buffer Size. The Fetch Buffer Size is an integer that represents the number of rows to return during one fetch operation;
/ENCRYPTED - Sets the Encrypted flag for outgoing packets. /ENCRYPTED may pass '1', '0', 'Y', 'N', 'y', or 'n.' (This feature is disabled by default.);
/CHARSET - Specifies the charset of remote databases. The default value is read from System.getProperty("file.encoding");
/UNICODE - Instantiates unicode. The unicode connection isn't used by default. The value may be '1', '0', 'Y', 'N', 'y', 'n'(This feature is disabled by default.);
/DLF - Pushes large, binary objects to the end of the result-set. Smaller data types are retrieved first. This enhances performance. /DLF may be set to '1', '0', 'Y', 'N', 'y', or 'n.' (This feature is disabled by default.);
/DATABASE - Actual database name within a particular database environment;
/OPTIONS - Optional parameter that passes specialized database native client connection parameters. Used by users who connect to Progress databases in sockets mode. Also used by users who have 3-Tier or application server architectures;
/DRIVER - The Driver name contained in curly brackets ({}). Used for DSN-Less connections to remote ODBC Drivers.
Here are some sample JDBC connection URLs:
jdbc:openlink://localhost:5000/SVT=Ingres II/DATABASE=iidbdb/UID=ingres/PWD=ingres;
jdbc:openlink://192.128.13.119:5000/SVT=Oracle 8.1.x/DATABASE=ORCL/UID=scott/PWD=tiger;
jdbc:openlink://saturn:5000/SVT=Progress 91D/DATABASE=isports/OPTIONS=-S isports -N tcp -H saturn;
jdbc:openlink://localhost:5000/SVT=SQLServer 2000/DATABASE=Northwind/UID=sa/OPTIONS= -S SATURN;
Configuration
What Do I Pass In A Single-Tier JDBC Connection URL?
Single-Tier JDBC connection URLs take the following format: jdbc:openlink://ODBC[/DSN][/UID][/PWD][/READONLY] .
Here is a description of each of the URL parameters: /DSN - Local ODBC Data Source Name; /UID - Database Username;
/PWD - Database Password; /READONLY - Read-write or read-only session mode. Here is a sample Single-Tier JDBC connection URL:
jdbc:openlink://ODBC/DSN=Local Oracle ODBC Data Source/UID=scott/PWD=tiger
Configuration
What Do I Pass In A Single-Tier JDBC Connection URL?
Single-Tier JDBC connection URLs take the following format: jdbc:openlink://ODBC[/DSN][/UID][/PWD][/READONLY] .
Here is a description of each of the URL parameters: /DSN - Local ODBC Data Source Name; /UID - Database Username;
/PWD - Database Password; /READONLY - Read-write or read-only session mode. Here is a sample Single-Tier JDBC connection URL:
jdbc:openlink://ODBC/DSN=Local Oracle ODBC Data Source/UID=scott/PWD=tiger
Configuration
What Do Users Need To Do To Configure Their Single-Tier Drivers?
Unix users need to ensure that openlink.sh (Bourne/Bash) or openlink.csh (C) is executed in the appropriate shell. These shell scripts set environment variables that pertain to ODBC.
Unix users need to run set or env to ensure that the environment variables (ODBCINI, ODBCINSTINI, etc.) are actually set.
Unix users need to ensure that the appropriate [Environment] section of the ~/openlink/bin/openlink.ini file contains the correct environment variables.
Windows users need to ensure that their System and User PATH variables contain the OpenLink driver .dlls and database native client .dlls. (Database native client .dll's are not required for MySQL, PostgreSQL, SQLServer, or Sybase.)
Windows users may need to set other System and User PATH variables depending on the database. For example, Progress users need to set PROGRESSINI and PROMSGS.
Configuration
What Do Users Need To Do To Configure Their Single-Tier Drivers?
Unix users need to ensure that openlink.sh (Bourne/Bash) or openlink.csh (C) is executed in the appropriate shell. These shell scripts set environment variables that pertain to ODBC.
Unix users need to run set or env to ensure that the environment variables (ODBCINI, ODBCINSTINI, etc.) are actually set.
Unix users need to ensure that the appropriate [Environment] section of the ~/openlink/bin/openlink.ini file contains the correct environment variables.
Windows users need to ensure that their System and User PATH variables contain the OpenLink driver .dlls and database native client .dlls. (Database native client .dll's are not required for MySQL, PostgreSQL, SQLServer, or Sybase.)
Windows users may need to set other System and User PATH variables depending on the database. For example, Progress users need to set PROGRESSINI and PROMSGS.
Configuration
What Do Users Need To Do To Configure Their Multi-Tier Drivers?
Unix users need to ensure that openlink.sh (Bourne/Bash) or openlink.csh (C) is executed in the appropriate shell. These shell scripts set environment variables that pertain to ODBC. They appear in both client and server components installations.
Unix users need to run set or env to ensure that the environment variables (ODBCINI, ODBCINSTINI, etc.) are actually set.
All users need to ensure that the appropriate [Environment] section of the ~/openlink/bin/oplrqb.ini file contains the correct environment variables.
All users should uncomment and set the PortHigh parameter that appears in the [Protocol TCP] section of the ~/openlink/bin/oplrqb.ini file. PortHigh should equal PortLow + the number of concurrent connections alloted by the license + a few extra ports.
All users need to start the Request Broker. The Request Broker is the oplrqb executable that appears in the /bin sub-directory of Multi-Tier server components installation.
Configuration
What Do Users Need To Do To Configure Their Multi-Tier Drivers?
Unix users need to ensure that openlink.sh (Bourne/Bash) or openlink.csh (C) is executed in the appropriate shell. These shell scripts set environment variables that pertain to ODBC. They appear in both client and server components installations.
Unix users need to run set or env to ensure that the environment variables (ODBCINI, ODBCINSTINI, etc.) are actually set.
All users need to ensure that the appropriate [Environment] section of the ~/openlink/bin/oplrqb.ini file contains the correct environment variables.
All users should uncomment and set the PortHigh parameter that appears in the [Protocol TCP] section of the ~/openlink/bin/oplrqb.ini file. PortHigh should equal PortLow + the number of concurrent connections alloted by the license + a few extra ports.
All users need to start the Request Broker. The Request Broker is the oplrqb executable that appears in the /bin sub-directory of Multi-Tier server components installation.
Configuration
What Does Count Stored Procedure Parameters In SQL Procedures Do?
This applies to the Oracle data-source.
"Count Stored Procedure Parameters" affects the output from SQLProcedures when "Custom Catalog Views" is enabled.
When "Custom Catalog Views" is off, the NUM_INPUT_PARAMETERS, NUM_OUTPUT_PARAMETERS and NUM_RESULT_SETS columns of the SQLProcedures result set all contain -1.
When "Custom Catalog Views" in on, "Count Stored Procedure Parameters" is enabled and an internal view, OPENLINK$SQL_PROCEDURES is used; when this is disabled, the internal view, OPENLINK$SQL_PROCS_NOCOUNT is used instead. The result set returned by SQL_PROCEDURES includes the number of input and output parameters for each procedure. The number of result sets is always -1 like the case when "Custom Catalog Views" is off, SQL_PROCS_NOCOUNT returns -1 for the NUM_INPUT_PARAMETERS, NUM_OUTPUT_PARAMETERS and NUM_RESULT_SETS columns.
Configuration
What Does Count Stored Procedure Parameters In SQL Procedures Do?
This applies to the Oracle data-source.
"Count Stored Procedure Parameters" affects the output from SQLProcedures when "Custom Catalog Views" is enabled.
When "Custom Catalog Views" is off, the NUM_INPUT_PARAMETERS, NUM_OUTPUT_PARAMETERS and NUM_RESULT_SETS columns of the SQLProcedures result set all contain -1.
When "Custom Catalog Views" in on, "Count Stored Procedure Parameters" is enabled and an internal view, OPENLINK$SQL_PROCEDURES is used; when this is disabled, the internal view, OPENLINK$SQL_PROCS_NOCOUNT is used instead. The result set returned by SQL_PROCEDURES includes the number of input and output parameters for each procedure. The number of result sets is always -1 like the case when "Custom Catalog Views" is off, SQL_PROCS_NOCOUNT returns -1 for the NUM_INPUT_PARAMETERS, NUM_OUTPUT_PARAMETERS and NUM_RESULT_SETS columns.
Configuration
What Does Custom Catalog Views Do?
"Custom Catalog Views" controls whether custom OpenLink views are used to return meta-data for some ODBC catalog functions. These custom views provide more meta-data than is normally available. To create and use them, the script odbccat[8|9].sql must be run beforehand.
The ODBC catalog functions affected are: SQLForeignKeys, SQLPrimaryKeys, SQLProcedureColumns, SQLProcedures, SQLSpecialColumns
Configuration
What Does Custom Catalog Views Do?
"Custom Catalog Views" controls whether custom OpenLink views are used to return meta-data for some ODBC catalog functions. These custom views provide more meta-data than is normally available. To create and use them, the script odbccat[8|9].sql must be run beforehand.
The ODBC catalog functions affected are: SQLForeignKeys, SQLPrimaryKeys, SQLProcedureColumns, SQLProcedures, SQLSpecialColumns
Configuration
What Does Deadlock Timeout Do?
If a deadlock occurs within Progress, due to a record been accessed simultaneously by the client, this is the default time in seconds, the database agent will wait for the Progesss server to release its lock before an error will be reported back to the client. The default value is 60 seconds.
Configuration
What Does Default User ID Do?
This option allows a default user to be specified when a connection is attempted to a remote database.
Configuration
What Does Disable Auto Commit Do?
This data-source option is used to control transactions via the OpenLink driver. This option changes the default commit behavior of the OpenLink Driver. By default, this mode is set to AutoCommit.
Configuration
What Does Disable Interactive Login Do?
By enabling this option, the application will not prompt for a username/password when connecting to the database. The assumption here is you do not require a password to connect. This will apply to the following scenarios:
The passwords are hard-coded in the server (applies to the Multi-Tier drivers);
The database server does not require a password to connect;
The application will pass the userid/password using its own method.
The only exception where enabling this option will still prompt an interactive login is when creating a new data-source.
Configuration
What Does Disable Interactive Login Do?
By enabling this option, the application will not prompt for a username/password when connecting to the database. The assumption here is you do not require a password to connect. This will apply to the following scenarios:
The passwords are hard-coded in the server (applies to the Multi-Tier drivers);
The database server does not require a password to connect;
The application will pass the userid/password using its own method.
The only exception where enabling this option will still prompt an interactive login is when creating a new data-source.
Configuration
What Does Disable RowsetSizeLimit Do?
The OpenLink Scrollable Cursor Library (SCR) by default enforces a maximum cursor row-set size of 100 on any query. This is because the larger the row-set size the more memory the SCR will require to manage this, which could begin to unnecessarily impede performance as the system resources run low. Hence the need for this restriction as general no one should ever have the need to manipulate more data than can be viewed on their screen (ie a row-set). Thus if the an application makes SQLStmtOption(SQL_ROWSET_SIZE, value) where the value is greater than 100 our driver will return SQL_SUCCESS_WITH_INFO at which point a well written application which check SQLError and receive an "Option value changed" message at which point it should call SQLGetStmtOption(SQL_ROWSET_SIZE, &value) to see what it has actually been set to, which would be 100.
Some applications, for example Power Builder, ignored the SQL_SUCCESS_WITH_INFO response and assumed the value they requested resulting in errors when they attempted to scroll paste the end of the row-set (100 rows) our driver returned. To enable such applications to work with our driver we thus introduced the Disable Rowset Size Limit option which if set removes our imposed restriction and trusts the application to set the row-set size to a reasonable value.
Configuration
What Does Disable RowsetSizeLimit Do?
The OpenLink Scrollable Cursor Library (SCR) by default enforces a maximum cursor row-set size of 100 on any query. This is because the larger the row-set size the more memory the SCR will require to manage this, which could begin to unnecessarily impede performance as the system resources run low. Hence the need for this restriction as general no one should ever have the need to manipulate more data than can be viewed on their screen (ie a row-set). Thus if the an application makes SQLStmtOption(SQL_ROWSET_SIZE, value) where the value is greater than 100 our driver will return SQL_SUCCESS_WITH_INFO at which point a well written application which check SQLError and receive an "Option value changed" message at which point it should call SQLGetStmtOption(SQL_ROWSET_SIZE, &value) to see what it has actually been set to, which would be 100.
Some applications, for example Power Builder, ignored the SQL_SUCCESS_WITH_INFO response and assumed the value they requested resulting in errors when they attempted to scroll paste the end of the row-set (100 rows) our driver returned. To enable such applications to work with our driver we thus introduced the Disable Rowset Size Limit option which if set removes our imposed restriction and trusts the application to set the row-set size to a reasonable value.
Configuration
What Does Dynamic Cursor Sensitivity Do?
Enables or disables the row version cache used with dynamic cursors.
When dynamic cursor sensitivity is set to High, the Cursor Library calculates checksums for each row in the current row-set and compares these with the checksums (if any) already stored in the row version cache for the same rows when fetched previously. If the checksums differ for a row, the row has been updated since it was last fetched and the row status flag is set to SQL_ROW_UPDATED. The row version cache is then updated with the latest checksums for the row-set.
When dynamic cursor sensitivity is set to Low, (default) performance is improved. The calculation and comparison of checksums for each row fetched carries an overhead. as the application does not need to detect the row status, SQL_ROW_UPDATED.
Configuration
What Does Dynamic Cursor Sensitivity Do?
Enables or disables the row version cache used with dynamic cursors.
When dynamic cursor sensitivity is set to High, the Cursor Library calculates checksums for each row in the current row-set and compares these with the checksums (if any) already stored in the row version cache for the same rows when fetched previously. If the checksums differ for a row, the row has been updated since it was last fetched and the row status flag is set to SQL_ROW_UPDATED. The row version cache is then updated with the latest checksums for the row-set.
When dynamic cursor sensitivity is set to Low, (default) performance is improved. The calculation and comparison of checksums for each row fetched carries an overhead. as the application does not need to detect the row status, SQL_ROW_UPDATED.
Configuration
What Does Enable Logging Do?
This option turns on ODBC call tracing and enables OpenLink Driver ODBC logging to a file. If no directory is specified, the logfile will be created in the default OpenLink installation directory.
Configuration
What Does Enable Microsoft Jet Engine Options Do?
The Jet Engine is synonymous with Microsoft tools such as Access, Excel (http://www.microsoft.com/office) or when developing with DAO (Data Access Objects). If your application falls into any of those categories, it is recommended that +jetfix is selected.
This option will map Microsoft Jet data types to compatible SQL Types ready for ODBC and data access. For example, the MSAccess Data Type `Money` will be converted to Float or Decimal. This is because not all databases support this type.
Configuration
What Does Enable Microsoft Jet Engine Options Do?
The Jet Engine is synonymous with Microsoft tools such as Access, Excel (http://www.microsoft.com/office) or when developing with DAO (Data Access Objects). If your application falls into any of those categories, it is recommended that +jetfix is selected.
This option will map Microsoft Jet data types to compatible SQL Types ready for ODBC and data access. For example, the MSAccess Data Type `Money` will be converted to Float or Decimal. This is because not all databases support this type.
Configuration
What Does Expression Precision Do?
This option is a Progress SQL-89/4GL configuration. It provides an accurate value for Precision and Scale when the result is a Numeric Expression. For instance, select 10 + 12 in Progress will return the result as a numeric expression.
In Progress SQL89/4GL, the Precision and Scale are returned as 0 as default. This means Applications, for example MSAccess, might interpret the results as a string and label it a char column. With these variables, the user has complete control over the Precision and Scale used for expressions. By default, the OpenLink drivers will return a default of 15,2 for Precision and scale respectively.
Configuration
What Does Expression Precision Do?
This option is a Progress SQL-89/4GL configuration. It provides an accurate value for Precision and Scale when the result is a Numeric Expression. For instance, select 10 + 12 in Progress will return the result as a numeric expression.
In Progress SQL89/4GL, the Precision and Scale are returned as 0 as default. This means Applications, for example MSAccess, might interpret the results as a string and label it a char column. With these variables, the user has complete control over the Precision and Scale used for expressions. By default, the OpenLink drivers will return a default of 15,2 for Precision and scale respectively.
Configuration
What Does Expression Scale Do?
This option is a Progress SQL-89/4GL configuration. It provides an accurate value for Precision and Scale when the result is a Numeric Expression. For instance, select 10 + 12 in Progress will return the result as a numeric expression.
In Progress SQL89/4GL, the Precision and Scale are returned as 0 as default. This means Applications, for example MSAccess, might interpret the results as a string and label it a char column. With these variables, the user has complete control over the Precision and Scale used for expressions. By default, the OpenLink drivers will return a default of 15,2 for Precision and scale respectively.
Configuration
What Does Expression Scale Do?
This option is a Progress SQL-89/4GL configuration. It provides an accurate value for Precision and Scale when the result is a Numeric Expression. For instance, select 10 + 12 in Progress will return the result as a numeric expression.
In Progress SQL89/4GL, the Precision and Scale are returned as 0 as default. This means Applications, for example MSAccess, might interpret the results as a string and label it a char column. With these variables, the user has complete control over the Precision and Scale used for expressions. By default, the OpenLink drivers will return a default of 15,2 for Precision and scale respectively.
Configuration
What Does Field Size Maximum Do?
This option is similar to the Expression Precision/Scale option. The Progress 4GL database engine allows the storage of character strings which are longer than the declared SQL width. For instance, creating a table with a char column will default to 8 but Progress will allow you to specify more than 8 characters. By specifying a Max value, with this option, the ODBC driver internally will override the value provided by the ODBC call SQLDescribecol and use the value provided.
Configuration
What Does Field Size Minimum Do?
This option is similar to the Expression Precision/Scale option and is related to Field Size Maximum. As the Progress 4GL database engine allows the storage of character strings which are longer than the declared SQL width. For instance, creating a table with a char column will default to 8 but Progress will allow you to specify more than 8 characters.
When the values are returned without this option, only the first 8 characters will be returned. By specifying a Min value, the ODBC driver will override the value provided by the ODBC call SQLDescribecol and will use the value provided instead.
This is the more important of the two Field Size options and should always be specified first. For example, if your column as defined as char(8) but you have at least 255 characters, please specify a Min Field size of 255.
Configuration
What Does Field Size Minimum Do?
This option is similar to the Expression Precision/Scale option and is related to Field Size Maximum. As the Progress 4GL database engine allows the storage of character strings which are longer than the declared SQL width. For instance, creating a table with a char column will default to 8 but Progress will allow you to specify more than 8 characters.
When the values are returned without this option, only the first 8 characters will be returned. By specifying a Min value, the ODBC driver will override the value provided by the ODBC call SQLDescribecol and will use the value provided instead.
This is the more important of the two Field Size options and should always be specified first. For example, if your column as defined as char(8) but you have at least 255 characters, please specify a Min Field size of 255.
Configuration
What Does Force Online Database Do?
This applies to the Informix 7 Database which has support for both Online and Standard Engine. By specifying this value, the Informix type you intend to connect to will be set. (0) SE or (1) ONLINE. If set, the database will always appear as online.
Configuration
What Does Hide Login Dialog Do?
By enabling this option, the application will not prompt for a username/password when connecting to the database. The assumption here is you do not require a password to connect. This will apply to the following scenarios:
The passwords are hard-coded in the server (applies to the Multi-Tier drivers);
The database server does not require a password to connect;
The application will pass the userid/password using its own method.
The only exception where enabling this option will still prompt an interactive login is when creating a new data-source.
Configuration
What Does Hide Login Dialog Do?
By enabling this option, the application will not prompt for a username/password when connecting to the database. The assumption here is you do not require a password to connect. This will apply to the following scenarios:
The passwords are hard-coded in the server (applies to the Multi-Tier drivers);
The database server does not require a password to connect;
The application will pass the userid/password using its own method.
The only exception where enabling this option will still prompt an interactive login is when creating a new data-source.
Configuration
What Does Initial SQL Do?
On occasions, there is a requirement to execute certain instructions against the database when a connect is done against the database. For example, Transactional statements to set Isolation levels. By specifying this option and providing a SQL script with DB instructions, every database connection run will execute the contents of the sql script against the Database.
This option is set by specifying a Path & Filename. The default directory is the OpenLink Installation folder.
Configuration
What Does Initial SQL Do?
On occasions, there is a requirement to execute certain instructions against the database when a connect is done against the database. For example, Transactional statements to set Isolation levels. By specifying this option and providing a SQL script with DB instructions, every database connection run will execute the contents of the sql script against the Database.
This option is set by specifying a Path & Filename. The default directory is the OpenLink Installation folder.
Configuration
What Does Log File Do?
There are two methods of tracing ODBC calls. Tracing can be set either by the Driver Manager or by the ODBC Driver. By specifying a Path & Filename in the Logfile option, the ODBC trace generated will be done by ODBC driver. This will inform the support team of what information the Driver is sending to the database.
Please note you might also be required to provide a Driver Manager trace where applicable.
Configuration
What Does Log File Do?
There are two methods of tracing ODBC calls. Tracing can be set either by the Driver Manager or by the ODBC Driver. By specifying a Path & Filename in the Logfile option, the ODBC trace generated will be done by ODBC driver. This will inform the support team of what information the Driver is sending to the database.
Please note you might also be required to provide a Driver Manager trace where applicable.
Configuration
What Does Max Long Data Length Do?
"Max Long Data Length" controls the maximum length of SQL_LONGVARCHAR and SQL_LONGVARBINARY data returned when deferred fetching of long data is off. When off, this setting limits the amount of memory which must be allocated for a dataset cell to hold the retrieved value - the value is truncated to this length. The default limit is 60000 bytes.
When deferred fetching is enabled, the complete SQL_LONGVARCHAR or SQL_LONGVARBINARY value can be fetched. Note that any value set via SQLSetStmtAttr(SQL_ATTR_MAX_LENGTH) takes precedence over the 'Max Long Data Length' value.
Configuration
What Does Max Long Data Length Do?
"Max Long Data Length" controls the maximum length of SQL_LONGVARCHAR and SQL_LONGVARBINARY data returned when deferred fetching of long data is off. When off, this setting limits the amount of memory which must be allocated for a dataset cell to hold the retrieved value - the value is truncated to this length. The default limit is 60000 bytes.
When deferred fetching is enabled, the complete SQL_LONGVARCHAR or SQL_LONGVARBINARY value can be fetched. Note that any value set via SQLSetStmtAttr(SQL_ATTR_MAX_LENGTH) takes precedence over the 'Max Long Data Length' value.
Configuration
What Does Max Rows Override Do?
By specifying a value within this option, we specify the maximum number of rows to be returned by any given query as opposed to the actual value of rows contained within the table.
Configuration
What Does Multiplex Sessions Do?
This determines the connection parallelization mode within the Informix database. Multiplex sessions are now enabled by default.
Configuration
What Does NoQuotedIdentifiers Do?
The Option is use by the ODBC-JDBC bridge drivers to indicate a give JDBC driver does not support the quoted identifiers, which is required for Jet engine based products like MS Access. From Multi-Tier the environment variable is JET_NOSUPPORTOFQUOTEDIDENTIFIER=[YES|NO]
Configuration
What Does OCIPrefetchMemory Do?
OCIPrefetchMemory and OCIPrefetchRows control parameters relating to the Oracle OCI's prefetching facility. However, use of this facility has been disabled in the OpenLink agent and Lite driver because of problems experienced with Oracle 8.x and indicator variables.
To minimize server round trips and maximize performance, the OCI can prefetch result set rows when executing a query. This prefetching operates independently of OpenLink's prefetching facility. The OCI prefetching can be customized by setting two attributes, OCI_ATTR_PREFETCH_ROWS and OCI_ATTR_PREFETCH_MEMORY. The OCIPrefetchMemory and OCIPrefetchRows settings in the OpenLink setup dialogs map directly to these OCI attributes.
OCIPrefetchMemory sets the memory allocated for rows to be prefetched. The application then fetches as many rows as will fit into that much memory.
OCIPrefetchRows sets the number of rows to be prefetched.
When both of these attributes are set, the OCI prefetches rows up to the OCIPrefetchRows limit, or until the OCIPrefetchMemory limit is reached, if this is lower.
Configuration
What Does OCIPrefetchMemory Do?
OCIPrefetchMemory and OCIPrefetchRows control parameters relating to the Oracle OCI's prefetching facility. However, use of this facility has been disabled in the OpenLink agent and Lite driver because of problems experienced with Oracle 8.x and indicator variables.
To minimize server round trips and maximize performance, the OCI can prefetch result set rows when executing a query. This prefetching operates independently of OpenLink's prefetching facility. The OCI prefetching can be customized by setting two attributes, OCI_ATTR_PREFETCH_ROWS and OCI_ATTR_PREFETCH_MEMORY. The OCIPrefetchMemory and OCIPrefetchRows settings in the OpenLink setup dialogs map directly to these OCI attributes.
OCIPrefetchMemory sets the memory allocated for rows to be prefetched. The application then fetches as many rows as will fit into that much memory.
OCIPrefetchRows sets the number of rows to be prefetched.
When both of these attributes are set, the OCI prefetches rows up to the OCIPrefetchRows limit, or until the OCIPrefetchMemory limit is reached, if this is lower.
Configuration
What Does OCIPrefetchRows Do?
OCIPrefetchMemory and OCIPrefetchRows control parameters relating to the Oracle OCI's prefetching facility. However, use of this facility has been disabled in the OpenLink agent and Lite driver because of problems experienced with Oracle 8.x and indicator variables.
To minimize server round trips and maximize performance, the OCI can prefetch result set rows when executing a query. This prefetching operates independently of OpenLink's prefetching facility. The OCI prefetching can be customized by setting two attributes, OCI_ATTR_PREFETCH_ROWS and OCI_ATTR_PREFETCH_MEMORY. The OCIPrefetchMemory and OCIPrefetchRows settings in the OpenLink setup dialogs map directly to these OCI attributes.
OCIPrefetchMemory sets the memory allocated for rows to be prefetched. The application then fetches as many rows as will fit into that much memory.
OCIPrefetchRows sets the number of rows to be prefetched.
When both of these attributes are set, the OCI prefetches rows up to the OCIPrefetchRows limit, or until the OCIPrefetchMemory limit is reached, if this is lower.
Configuration
What Does OCIPrefetchRows Do?
OCIPrefetchMemory and OCIPrefetchRows control parameters relating to the Oracle OCI's prefetching facility. However, use of this facility has been disabled in the OpenLink agent and Lite driver because of problems experienced with Oracle 8.x and indicator variables.
To minimize server round trips and maximize performance, the OCI can prefetch result set rows when executing a query. This prefetching operates independently of OpenLink's prefetching facility. The OCI prefetching can be customized by setting two attributes, OCI_ATTR_PREFETCH_ROWS and OCI_ATTR_PREFETCH_MEMORY. The OCIPrefetchMemory and OCIPrefetchRows settings in the OpenLink setup dialogs map directly to these OCI attributes.
OCIPrefetchMemory sets the memory allocated for rows to be prefetched. The application then fetches as many rows as will fit into that much memory.
OCIPrefetchRows sets the number of rows to be prefetched.
When both of these attributes are set, the OCI prefetches rows up to the OCIPrefetchRows limit, or until the OCIPrefetchMemory limit is reached, if this is lower.
Configuration
What Does Packet Size Do?
This is the size of TCP packets sent over the network on every network hop. Increasing this value should increase performance but is risky if a packet becomes lost in the network.
Configuration
What Does Prepare Method Do?
This option is specific to the TDS Driver for MS & Sybase SQLServers, and can take the values None, Partial and Full (connectoptions -O [0, 1, 2] respectively) which are used to determines whether stored procedures are created on the server for calls to SQLPrepare.
When set to Full (-O 2), stored procedures are created for every call to SQLPrepare. This setting can result in decreased performance when processing statements that do not contain parameters.
When set to Partial (-O 1) (the initial default), the driver creates stored procedures only if the statement contains parameters. Otherwise, the statement is cached and run directly at the time of SQLExecute.
When set to None (-O 0), stored procedures are never created. The driver caches the statement, executes it directly at the time of SQLExecute, and reports any syntax or similar errors at the time of SQLExecute.
Configuration
What Does Prepare Method Do?
This option is specific to the TDS Driver for MS & Sybase SQLServers, and can take the values None, Partial and Full (connectoptions -O [0, 1, 2] respectively) which are used to determines whether stored procedures are created on the server for calls to SQLPrepare.
When set to Full (-O 2), stored procedures are created for every call to SQLPrepare. This setting can result in decreased performance when processing statements that do not contain parameters.
When set to Partial (-O 1) (the initial default), the driver creates stored procedures only if the statement contains parameters. Otherwise, the statement is cached and run directly at the time of SQLExecute.
When set to None (-O 0), stored procedures are never created. The driver caches the statement, executes it directly at the time of SQLExecute, and reports any syntax or similar errors at the time of SQLExecute.
Configuration
What Does Remote Database Alias Refer To?
An alias identifying the DB2 database to connect to. This alias should be configured using the DB2 Client Configuration Assistant.
Configuration
What Does RowbufferSize Do?
This attribute specifies the number of records to be transported over the network in a single network hop. Values can range from 1 to 99.
Configuration
What Does SQL_DBMS_NAME Do?
This option allows overriding of the SQLGetInfo (SQL_DBMS_NAME) response. Ordinarily this is "ORACLE ". This option was introduced to allow our drivers to work with MSProject.
Configuration
What Does Show Remarks Do?
Show Remarks affects the output from SQLColumns. When enabled, the REMARKS column of a SQLColumns result set includes the comments from the COMMENTS column of the Oracle ALL_COL_COMMENTS data dictionary view. When disabled, the REMARKS column is empty. Disabling Show Remarks improves performance.
Configuration
What Does Space Pad Character Columns Do?
Space pad character columns controls whether data from Informix CHAR columns are returned "blank padded". When enabled, character values less than the column width are padded to the maximum width with trailing spaces, before being returned. When disabled, any trailing spaces are stripped off.
Configuration
What Does USEANSINulls Padding And Warnings Do?
This affects the TDS agent & Lite Drivers but only the MS SQLServer database, not Sybase.
When enabled, the agent issues the Transact-SQL commands below on connecting: SET ANSI_NULL_DFLT_ON ON .
When disabled, the agent issues the commands: SET ANSI_NULLS OFF SET ANSI_PADDING OFF SET ANSI_WARNINGS OFF SET CONCAT_NULL_YIELDS_NULL OFF
Configuration
What Does USEANSINulls Padding And Warnings Do?
This affects the TDS agent & Lite Drivers but only the MS SQLServer database, not Sybase.
When enabled, the agent issues the Transact-SQL commands below on connecting: SET ANSI_NULL_DFLT_ON ON .
When disabled, the agent issues the commands: SET ANSI_NULLS OFF SET ANSI_PADDING OFF SET ANSI_WARNINGS OFF SET CONCAT_NULL_YIELDS_NULL OFF
Configuration
What Does Use Extended Fetch Do?
`Use Extended Fetch'' controls whether Our ODBC Bridge agent/Lite uses the SQLExtendedFetch() function of the underlying ODBC driver, if it's available, when fetching data. Using the bridged driver's SQLExtendedFetch() should improve performance. However it may be necessary to disable this setting- for instance, some drivers do not support extended fetching on a result-set produced by an ODBC catalog call.
When extended fetching is disabled, the bridged driver's SQLFetch() function is used instead.
Configuration
What Does Use Extended Fetch Do?
`Use Extended Fetch'' controls whether Our ODBC Bridge agent/Lite uses the SQLExtendedFetch() function of the underlying ODBC driver, if it's available, when fetching data. Using the bridged driver's SQLExtendedFetch() should improve performance. However it may be necessary to disable this setting- for instance, some drivers do not support extended fetching on a result-set produced by an ODBC catalog call.
When extended fetching is disabled, the bridged driver's SQLFetch() function is used instead.
Configuration
What Does Use SPACE For SQL_IDENTIFIER_QUOTE_CHAR Do?
This is a Progress SQL-89 specific option which if set the driver returns " " rather than "" to represent this database does not have a quoted identifier character. The ODBC specification says that " " is what should be returned but some applications (like Crystal Reports) interpret this response as meaning the quoted identifier character is a "space", which obviously does not make sense and fails, as they are expecting "" to be returned hence this need for this option.
Configuration
What Does Users Own Tables First In SQL Tables Mean?
This is an option specific to the UDA Oracle driver enabling the tables owned by the connected to user to be displayed first in the list present by SQLtables rather than purely in alphabetical order.
Configuration
What Is The Openlink.ini File?
The openlink.ini file is a Single-Tier configuration file. It appears in the /bin sub-directory of Unix-based, Single-Tier installations. openlink.ini contains database-specific environment variables.
Configuration
What Is The Oplrqb.ini File?
The oplrqb.ini file is the OpenLink Session Rules Book. The OpenLink Session Rules Book contains parameters that the Request Broker uses to resolve Multi-Tier connections. The Session Rules Book also contains:
Request Broker configuration parameters; Networking & protocol specific parameters; Expression-based rules that comprise Multi-Tier enhanced security;
Some Admin Assistant configuration parameters
Configuration
What Is The Oplrqb.ini File?
The oplrqb.ini file is the OpenLink Session Rules Book. The OpenLink Session Rules Book contains parameters that the Request Broker uses to resolve Multi-Tier connections. The Session Rules Book also contains:
Request Broker configuration parameters; Networking & protocol specific parameters; Expression-based rules that comprise Multi-Tier enhanced security;
Some Admin Assistant configuration parameters
Configuration
What Is The Udbc.ini File?
The udbc.ini file contains client configuration parameters and data source connection parameters that facilitate use of OpenLink's UDBC drivers. It is similar in structure to the standard odbc.ini file. Users do not need to configure udbc.ini, unless they choose to use OpenLink's proprietary UDBC data access protocol. Users choose UDBC to bypass dependence on an ODBC driver manager. However, due to prevalence of iODBC and other driver managers on Unix, UDBC is no longer needed. OpenLink has dropped support for UDBC in its 5.0 releases.
Configuration
What Is The odbcinst.ini File?
The odbcinst.ini file is a standard ODBC configuration file. It consists of a list of drivers installed on the operating system and individual configuration sections for each driver. The configuration sections usually contain a Driver parameter, which passes the full path to the driver. These sections also contain a Setup parameter, which passes the location of the setup dialogs that are use to configure data sources that reference the driver. Other parameters appear as needed.
Configuration
What Is Zero Config?
OpenLink's ZeroConfig functionality allows the OpenLink administrator to define sets of database connection parameters using the Administrative Assistant. For instance, the OpenLink Administrator may hard-code the Request Broker host and port, database name, database username, and database password in a ZeroConfig Data Source. Existing ZeroConfig Data Sources are broadcast over the corporate network. End users may create Data Source Names from scratch. Alternatively, users may select a convenient ZeroConfig Data Source Name. Use of ZeroConfig Data Sources allow novice or non-privileged users to connect to the database using an immediate and reliable set of connection parameters.
Configuration
What Ports Do Users Need To Open On Their Firewalls To Use OpenLink Software?
Single-Tier users should not need to open ports to accommodate the Single-Tier driver. However, ports may need to be opened to facilitate connections between the database native client and the database to which it connects. Multi-Tier users need to take the following action, if a firewall surrounds the machine that contains the Multi-Tier server components
Configuration
What Services Do Users Start To Use OpenLink Drivers?
OpenLink Single-Tier users do not need to start services to use their drivers. Single-Tier users need to start the HTTP-Based iODBC Data Sources Administrator, if they want to use the graphical configuration utility. Use the following command to proceed: iodbc-admin-httpd.sh start OpenLink Multi-Tier users need to start their Request Brokers to use their drivers. Use the following command to start the Broker and the associated Administrative Assistant: oplrqb
Configuration
What Values Do Multi-Tier Users Need To Pass In Their Data-Sources?
Multi-Tier users must pass the following values in their Multi-Tier DSNs: Server -- Passes the hostname or IP address of the server on which the Multi-Tier Request Broker listens. Also passes the TCP port on which the Broker listens. The format is host:port.
Domain -- This value corresponds to a Domain Alias that appears in the [Domain Aliases] section of the Session Rules Book. Default Domain Aliases are named after the databases to which the database agent connect. Custom Domain Aliases may take any form.
Database -- This is the name of the database or Oracle SID.
Login ID -- This is a valid database username.
Password -- This is a valid database password.
Configuration
What Values Do Multi-Tier Users Need To Pass In Their Data-Sources?
Multi-Tier users must pass the following values in their Multi-Tier DSNs: Server -- Passes the hostname or IP address of the server on which the Multi-Tier Request Broker listens. Also passes the TCP port on which the Broker listens. The format is host:port.
Domain -- This value corresponds to a Domain Alias that appears in the [Domain Aliases] section of the Session Rules Book. Default Domain Aliases are named after the databases to which the database agent connect. Custom Domain Aliases may take any form.
Database -- This is the name of the database or Oracle SID.
Login ID -- This is a valid database username.
Password -- This is a valid database password.
Configuration
What Values Do Single-Tier Users Need To Pass In Their DataSources?
All Single-Tier users must pass a valid Data Source Name.
Configuration
What Values Must I Pass In My Single-Tier DSN?
UDA Support Primer Data Source Name (DNS) Creation What values must I pass in my Single-Tier DSN All Single-Tier users must pass a valid Data Source Name.
Installation
Can I Install New Software On Top Of Existing Software?
Users can install new software on top of existing software. However, this is not the preferred course of action, in many circumstances. Users should install new software to new directories if they are attempting to compare software performance or troubleshoot problems.
Installation
Can OpenLink provide ftp access to the downloads files?
OpenLink has two ftp sites. They are: UK FTP: ftp://ftp.openlinksw.co.uk/ and US FTP: ftp://www.openlinksw.com/ . Please note that the products are labeled according to their internal code, therefore please check with your support consultant before downloading to ensure you have the right product.
Installation
Can OpenLink provide installation files on CD?
OpenLink does not have ready-made installation CDs. However, OpenLink has the facilities to create CDs on request for customers and partners. Please contact your account manager who will consider your request.
Installation
Can users install on top of existing OpenLink software installations?
Users may install new driver installations atop old driver installations. Users may install different UDA products -i.e., the Single-Tier and Multi-Tier suite on top of one another and maintain the functionality of both.
Installation
Can users manually extract and install the software?
Windows users must use WinZip or a similar utility to extract OpenLink components from .zip files. Unix users must use install.sh whenever possible. Manual extraction is not supported. However, users may use gunzip and tar to extract components, if all attempts to use install.sh fail.
Installation
Can you explain OpenLink installation file naming conventions?
OpenLink's installation archives follow an eight character naming convention. The first two characters represent the operating system, on which the product was compiled. The third and fourth characters represent the component type, i.e., client, database agent, request broker, Single-Tier driver. The remaining characters specify for which database a product is meant to connect.
Generic components will contain a series of `x's or `z's in this field.
Installation
Can you explain OpenLink installation file naming conventions?
OpenLink's installation archives follow an eight character naming convention. The first two characters represent the operating system, on which the product was compiled. The third and fourth characters represent the component type, i.e., client, database agent, request broker, Single-Tier driver. The remaining characters specify for which database a product is meant to connect.
Generic components will contain a series of `x's or `z's in this field.
Installation
Components are missing after installation. What do I do?
Occasionally, Unix database agent installation files do not contain database agents. Instead, they contain object code and re-link scripts, which allow users to compile their own agents. This is normal due to the actual database not been available on our internal servers. Nevertheless, users can confirm this with OpenLink Product Support staff.
If requesting a database agent or components from the OpenLink Support staff, please have the following information, where available, ready.
Installation
Components are missing after installation. What do I do?
Occasionally, Unix database agent installation files do not contain database agents. Instead, they contain object code and re-link scripts, which allow users to compile their own agents. This is normal due to the actual database not been available on our internal servers. Nevertheless, users can confirm this with OpenLink Product Support staff.
If requesting a database agent or components from the OpenLink Support staff, please have the following information, where available, ready.
Installation
How Do I Install Your Products?
OpenLink's Data Access products are easy to install. Follow the instructions that correspond to the user's operating system:
1. Linux/Unix - Download the appropriate component archives and install.sh. Place the archives and install.sh into the same directory. Run the following command and follow the instructions: sh install.sh
2. Mac - Download the .dmg file and extract the .mpkg file that is contained inside it. Double-click the .mpkg file. Then, provide information and follow instructions, as prompted by the installation dialog screens.
3. VMS
4. Windows - Download the appropriate .zip installer. WinZip the installer and run setup.exe. (Setup.exe may appear in the root of the extracted files or in a Disk1 subdirectory.) Provide information and follow instructions, as prompted by the installation dialog screens.
Installation
How Do I Install Your Products?
OpenLink's Data Access products are easy to install. Follow the instructions that correspond to the user's operating system:
1. Linux/Unix - Download the appropriate component archives and install.sh. Place the archives and install.sh into the same directory. Run the following command and follow the instructions: sh install.sh
2. Mac - Download the .dmg file and extract the .mpkg file that is contained inside it. Double-click the .mpkg file. Then, provide information and follow instructions, as prompted by the installation dialog screens.
3. VMS
4. Windows - Download the appropriate .zip installer. WinZip the installer and run setup.exe. (Setup.exe may appear in the root of the extracted files or in a Disk1 subdirectory.) Provide information and follow instructions, as prompted by the installation dialog screens.
Installation
How To FTP?
FTP all installation shell scripts (install.sh) in ASCII transfer mode. FTP all other files in binary.
Installation
How To Uncompress Files?
OpenLink's products ship in a compressed file format:
-- .bin Binary Mac Classic
-- .dmg Disk Image Mac OS X
-- .hqx BinHex Mac Classic
-- .tar Compressed Archive Unix Decompress with install.sh
-- .taz GZIP Archive Unix Decompress with tar -xvfz or gunzip
-- .zip Zip File WinZip Decompress with WinZip
Installation
How To Uncompress Files?
OpenLink's products ship in a compressed file format:
-- .bin Binary Mac Classic
-- .dmg Disk Image Mac OS X
-- .hqx BinHex Mac Classic
-- .tar Compressed Archive Unix Decompress with install.sh
-- .taz GZIP Archive Unix Decompress with tar -xvfz or gunzip
-- .zip Zip File WinZip Decompress with WinZip
Installation
I cannot download software to the appropriate machine. What do I do?
Network or security policies may restrict a user's ability to download software onto a machine.
Installation
What Do I Do With The License File?
Windows Single-Tier users must copy the file to their Lite32 directories. Mac and Unix Single-Tier users must copy the files to the /bin sub-directory of their OpenLink installations. No additional action is needed. All Multi-Tier users must copy their licenses to the /bin sub-directory of the OpenLink installation. Then, Multi-Tier users must restart their Request Broker services. ALERT OpenLink's 1.x and 3.x licensing mechanism differs substantially from the current procedure. Single-Tier legacy license holders must transfer their license file to the /bin sub-directory of their OpenLink installation. Then, they must run the register.exe program. Multi-Tier legacy license holders must perform the following actions:
Shutdown the OpenLink Request Broker;
Transfer the license file to the /bin sub-directory of their server installation;
Rename license name.ini to register.ini;
Run register.ini;
Restart the Request Broker Service.
Installation
What Do I Do With The License File?
Windows Single-Tier users must copy the file to their Lite32 directories. Mac and Unix Single-Tier users must copy the files to the /bin sub-directory of their OpenLink installations. No additional action is needed. All Multi-Tier users must copy their licenses to the /bin sub-directory of the OpenLink installation. Then, Multi-Tier users must restart their Request Broker services. ALERT OpenLink's 1.x and 3.x licensing mechanism differs substantially from the current procedure. Single-Tier legacy license holders must transfer their license file to the /bin sub-directory of their OpenLink installation. Then, they must run the register.exe program. Multi-Tier legacy license holders must perform the following actions:
Shutdown the OpenLink Request Broker;
Transfer the license file to the /bin sub-directory of their server installation;
Rename license name.ini to register.ini;
Run register.ini;
Restart the Request Broker Service.
Installation
What Happened To The JdbcJodbc_sv And Judbc_sv Agents?
OpenLink's 1.x and 3.x Multi-Tier connections spawned a JDBC-specific agent (jodbc_sv, judbc_sv), which spawned a database-specific agent. OpenLink's newer drivers have incorporated the functionality of jodbc_sv and judbc_sv into the database agents. Hence, separate jodbc_sv and judbc_sv agents are no longer needed.
Installation
What Is The Proper Way To Perform An Upgrade?
Single-Tier users should terminate active ODBC connections, which use OpenLink's drivers. All Single-Tier users should back up their licenses, and Unix Single-Tier users should back-up existing odbc.ini and openlink.ini files. Finally, Single-Tier users should proceed with their upgrades. Multi-Tier users should terminate active ODBC connections, which use OpenLink's drivers. Multi-Tier users should also stop their Request Broker services. All Multi-Tier users should back-up their license and oplrqb.ini files, and Unix Multi-Tier users should back-up their odbc.ini files. Finally, Multi-Tier users should proceed with their upgrades. What about upgrading driver name or installing new driver?
Compatibility
Can I mix and match client and server components from different OpenLink versions?
OpenLink Software does not support mixed-version installations. Mismatched client and server software may not hinder a user's ability to connect and query. However, version incompatibility issues will arise over time. In fact, users who mix OpenLink 3.x and OpenLink 4.x software can expect specific problems with stability, transactions, and threading. These problems may only be resolved by upgrading the older component.
Compatibility
Can I run 32 Bit software on a 64 Bit operating system?
OpenLink's 32Bit software runs on 64Bit operating systems. However, OpenLink's 32Bit software is designed for use with 32Bit databases. Connectivity is possible to 64Bit databases that ship with 32bit libraries. However, OpenLink does not recommend this configuration.
Compatibility
Can I run 64Bit software on a 32Bit operating system?
OpenLink Software does not recommend this configuration.
Compatibility
Can I run multiple versions at the same time?
Users like to run multiple driver versions for comparative purposes. Single-Tier users simply install their new drivers to a new directory. Multi-Tier drivers should install their new drivers to different directories, as well. In addition, Multi-Tier users must ensure that their Request Brokers use separate TCP/IP Listen ports.
Compatibility
Do I need?
If you are unsure of whether you require our Universal Data Access drivers, please review the questions posed below:
Do you need to query a database with a 3rd party application? Is your application ODBC- or JDBC- compliant? Does your network environment support the TCP/IP or SPX protocol?
OpenLink's Data Access Drivers provide ODBC and JDBC connectivity between compliant applications and databases. Moreover, OpenLink's drivers use the TCP/IP network protocol to achieve this connection. Consequently, if your response is YES to the aforementioned questions, you need these drivers.
If you are still unsure, please consult your Database Administrators, System Administrators, or other knowledgeable staff.
Users who respond NO to one or more questions must clarify their needs with either a Support Consultant or their Account Manager. We offer other solutions which might be what you require.
Compatibility
Do I need?
If you are unsure of whether you require our Universal Data Access drivers, please review the questions posed below:
Do you need to query a database with a 3rd party application? Is your application ODBC- or JDBC- compliant? Does your network environment support the TCP/IP or SPX protocol?
OpenLink's Data Access Drivers provide ODBC and JDBC connectivity between compliant applications and databases. Moreover, OpenLink's drivers use the TCP/IP network protocol to achieve this connection. Consequently, if your response is YES to the aforementioned questions, you need these drivers.
If you are still unsure, please consult your Database Administrators, System Administrators, or other knowledgeable staff.
Users who respond NO to one or more questions must clarify their needs with either a Support Consultant or their Account Manager. We offer other solutions which might be what you require.
Compatibility
Do you have 16Bit drivers?
OpenLink produced 16Bit 1.x builds. These builds are not available to the general public.
Compatibility
Does OpenLink work with SQLServer Linked Servers?
OpenLink's 5.x+ drivers support ODBC API calls made by MS SQLServer's Linked Servers.
We also provide an alternative OLE DB provider for use with this and similar products.
Compatibility
Does OpenLink work with SQLServer Linked Servers?
OpenLink's 5.x+ drivers support ODBC API calls made by MS SQLServer's Linked Servers.
We also provide an alternative OLE DB provider for use with this and similar products.
Compatibility
Does OpenLink work with the DTS Wizard?
OpenLink's 5.x+ drivers support ODBC API calls made by MS SQLServer's DTS Wizard.
We also provide an alternative ODBC provider for ADO.NET and OLE.DB for use with this and similar products.
Compatibility
Does OpenLink work with the DTS Wizard?
OpenLink's 5.x+ drivers support ODBC API calls made by MS SQLServer's DTS Wizard.
We also provide an alternative ODBC provider for ADO.NET and OLE.DB for use with this and similar products.
Compatibility
Does OpenLink work with Oracle Heterogeneous Services?
Our UDA drivers work in conjunction with Oracle's Heterogeneous Services.
Compatibility
How can I tell if OpenLink produces software for a particular operating system or database?
Go to the OpenLink downloads pages to search for the software for your particular OS.
If your Operating System or Database is not available in the list of supported platforms, please contact your Product Support consultant or Account Manager as the software might be available internally but not publicly so.
Compatibility
How can I tell if OpenLink produces software for a particular operating system or database?
Go to the OpenLink downloads pages to search for the software for your particular OS.
If your Operating System or Database is not available in the list of supported platforms, please contact your Product Support consultant or Account Manager as the software might be available internally but not publicly so.
Compatibility
Is Older OS Compatibility Supported?
Consultants will encounter users who possess older builds of popular operating systems. For example, OpenLink may provide software for Solaris 2.5 systems. However, users have Solaris 2.4. In this instance, consultants should not encourage users to download software. OpenLink's software is not backwards compatible and may not function on the older platform.
Compatibility
Is there Older DB Compatibility Supported?
Consultants will encounter users who possess older builds of popular databases. For example, OpenLink may provide software for Informix 7.3 systems. However, users have Informix 5. In this instance, consultants should not encourage users to download software. OpenLink's software is not backwards compatible and may not function with the older platform. Be advised - Progress databases and OpenLink's Progress software are compatible, as long as both products share the same major number. For instance, OpenLink's Progress 8 database agents will connect to most Progress 8 databases. However Progress 8 database agents will not connect to Progress 7 databases.
Compatibility
OpenLink Data Access Drivers Vs iODBC?
iODBC.org offers free installers and instructions for the open-source iODBC Driver Manager and iODBC SDK. The installers are packaged with source code, header files, make files, and other resources of interest to the development community. These products match OpenLink Software's quality and reliability; however, they, and the iODBC.org web site, cater to highly technical individuals who know how to build the iODBC Driver Manager into their own custom solutions.
OpenLink Software provides commercial quality Data Access Drivers, the Virtuoso Universal Server, diagnostic utilities, and related SDKs. In addition, the iODBC Driver Manager is bundled into the OpenLink SDKs and installers for Data Access Drivers and Virtuoso. This software is intended to service businesses and other entities which need a complete, reliable, out-of-the-box solution.
OpenLink provides value added components in the OpenLink iODBC variant of the iODBC SDK. This value takes the form of ready-to-run iODBC ports for all supported platforms, and in the case of Mac OS X this currently includes an AQUA and Frameworks based ODBC Administrator.
Compatibility
OpenLink Data Access Drivers Vs iODBC?
iODBC.org offers free installers and instructions for the open-source iODBC Driver Manager and iODBC SDK. The installers are packaged with source code, header files, make files, and other resources of interest to the development community. These products match OpenLink Software's quality and reliability; however, they, and the iODBC.org web site, cater to highly technical individuals who know how to build the iODBC Driver Manager into their own custom solutions.
OpenLink Software provides commercial quality Data Access Drivers, the Virtuoso Universal Server, diagnostic utilities, and related SDKs. In addition, the iODBC Driver Manager is bundled into the OpenLink SDKs and installers for Data Access Drivers and Virtuoso. This software is intended to service businesses and other entities which need a complete, reliable, out-of-the-box solution.
OpenLink provides value added components in the OpenLink iODBC variant of the iODBC SDK. This value takes the form of ready-to-run iODBC ports for all supported platforms, and in the case of Mac OS X this currently includes an AQUA and Frameworks based ODBC Administrator.
Compatibility
What Are Your Prerequisites And System Requirements?
Users must install OpenLink's Single-Tier drivers on a supported operating system. Users must install DB2, Informix, Ingres, and Progress drivers on a machine, which contains a functional copy of their database native client. Users must install "ODBC Lite" drivers on a system that contains a 3rd party data source, which connects to the user's database. Users must install OpenLink's Multi-Tier client and server components on one or more supported operating systems. DB2, Informix, Ingres, and Progress users must install the server components on a system, which contains the user's database or database native client. Users must install "Generic ODBC" drivers on a system that contains a 3rd party data source, which connects to the user's database. Users must install Virtuoso Universal Server client and server components on one or more supported operating systems. Users must install the iODBC Driver Manager, OpenLink ODBC Bench, and ODBC Scan on a supported client operating system. Some users may require a compiler and library linker, if they intend to develop ODBC compliant applications or re-link OpenLink's agents or Driver Manager.
Compatibility
What Is The Compatibility with A Newer DB?
Users who possess newer builds of popular databases. For example, OpenLink may provide software for Sybase 11 systems. However, users have Sybase 12. In most instances, consultants should encourage users to download the closest match to their database version. OpenLink's software is upwards compatible and should function with the newer product. Be advised - Progress databases and OpenLink's Progress software are compatible, as long as both products share the same major number. For instance, OpenLink's Progress 8 database agents will connect to most Progress 8 databases. However Progress 7 database agents will not connect to Progress 8 databases.
Compatibility
What JDBC Connection Formats Do Multi-Tier Drivers Support?
OpenLink's Multi-Tier drivers support Type 3 (DSN-Less) JDBC connections. Multi-Tier drivers also support a Type 3 ODBC-JDBC Bridge.
Compatibility
What JDBC Connection Formats Do Single-Tier Drivers Support?
Single-Tier drivers support Type 1 (JDBC-ODBC Bridge) JDBC connections. They also provide ODBC-JDBC Bridge connectivity.
Compatibility
What Network Protocols Do You Support?
OpenLink supports the TCP/IP and IPX/SPX protocols.
Compatibility
What Suitable Software Should Be Used?
Get a uname -a from all machines on which software would be installed. Get the name of the database to which the user wants to connect. See if OpenLink has a matching machine and database installation or database installation media. If OpenLink has the requisite materials, OpenLink can build an agent. If OpenLink does not have the operating system or database, the user may need to consider a custom build.
ALERT Users may use OpenLink's Generic ODBC drivers to connect to databases, for which no database agents exist. These users simply need an OpenLink-supported operating system, which contains 3rd-party drivers that connect to the database. Other users may benefit from Single-Tier or application server configuration Multi-Tier connections, when they have a common database on an uncommon operating system. This latter configuration requires the installation of the database native client on an OpenLink-supported O/S.
Compatibility
What Suitable Software Should Be Used?
Get a uname -a from all machines on which software would be installed. Get the name of the database to which the user wants to connect. See if OpenLink has a matching machine and database installation or database installation media. If OpenLink has the requisite materials, OpenLink can build an agent. If OpenLink does not have the operating system or database, the user may need to consider a custom build.
ALERT Users may use OpenLink's Generic ODBC drivers to connect to databases, for which no database agents exist. These users simply need an OpenLink-supported operating system, which contains 3rd-party drivers that connect to the database. Other users may benefit from Single-Tier or application server configuration Multi-Tier connections, when they have a common database on an uncommon operating system. This latter configuration requires the installation of the database native client on an OpenLink-supported O/S.
Troubleshooting
Heavy load causes my ODBC connections to fail. What do I do?
Use the following guidelines to troubleshoot heavy problems:
1. Patch databases and operating systems regularly.
2. Contact database and o/s vendors to see if patches are associated with problems.
3. Ensure Unix kernel tuning parameters match parameters specified by database and o/s documentation.
4. Ensure your machine has adequate memory and processor resources.
5. Comparison test Multi-Tier drivers when Single-Tier drivers appear to expose limitations in a database native client.
6. Re-link Multi-Tier database agents against databases, especially patched databases.
7. Ensure PortHigh is set in the [Protocol TCP] section of the Multi-Tier Session Rules Book. This is the oplrqb.ini file that resides in the /bin sub-directory of the server components installation.
8. Multi-Tier users perform the following test:
-- login to the machine that contains the OpenLink server components.
-- Run oplshut -s on the command-line.
-- Compare the output to the Windows Task Manager or Unix ps -ef.
-- Upgrade server components if oplshut shows fewer processes when compared to the Task Manager or ps.
Multi-Tier users experiment with database agent reuse. Users should do comparison test with the following values:
-- ifsame process, upto 5
-- ifsame application, upto 5
-- ifsame database, upto 5
Troubleshooting
Heavy load causes my ODBC connections to fail. What do I do?
Use the following guidelines to troubleshoot heavy problems:
1. Patch databases and operating systems regularly.
2. Contact database and o/s vendors to see if patches are associated with problems.
3. Ensure Unix kernel tuning parameters match parameters specified by database and o/s documentation.
4. Ensure your machine has adequate memory and processor resources.
5. Comparison test Multi-Tier drivers when Single-Tier drivers appear to expose limitations in a database native client.
6. Re-link Multi-Tier database agents against databases, especially patched databases.
7. Ensure PortHigh is set in the [Protocol TCP] section of the Multi-Tier Session Rules Book. This is the oplrqb.ini file that resides in the /bin sub-directory of the server components installation.
8. Multi-Tier users perform the following test:
-- login to the machine that contains the OpenLink server components.
-- Run oplshut -s on the command-line.
-- Compare the output to the Windows Task Manager or Unix ps -ef.
-- Upgrade server components if oplshut shows fewer processes when compared to the Task Manager or ps.
Multi-Tier users experiment with database agent reuse. Users should do comparison test with the following values:
-- ifsame process, upto 5
-- ifsame application, upto 5
-- ifsame database, upto 5
Troubleshooting
How Do I Assist Users Who Cannot Start The Multi-Tier Request Broker?
Take the following action:
1. Ensure that a valid license appears in the /bin sub-directory of the OpenLink server components installation. The broker will not start without a valid license. ;
2. Check directory and file permissions.;
3. Compare the name of the Unix .taz files with the output of uname -a. Determine whether or not the component is compatible with the operating system.;
4. Use a text editor to open the oplrqb.ini file. Locate the [Protocol TCP] Listen parameter, and take note of the port.;
5. Run netstat -a and open /etc/services or C:/WINNT/SYSTEM32/DRIVERS/ETC/services to determine if the Broker's Listen port is in use by another service. This is typical of Windows XP which uses port 5000 by default.;
6. Run netstat -a open /etc/services or C:/WINNT/SYSTEM32/DRIVERS/ETC/services to determine if UDP port #60001 is in use. This will affect 1.x and 3.x installations.;
7. Attempt to start Windows Brokers with the Services utility and the DOS command line.;
8. Determine what service packs, patches, or upgrades have been applied to the operating system. Some upgrades cause the Broker service to fail.;
Troubleshooting
How Do I Assist Users Who Cannot Start The Multi-Tier Request Broker?
Take the following action:
1. Ensure that a valid license appears in the /bin sub-directory of the OpenLink server components installation. The broker will not start without a valid license. ;
2. Check directory and file permissions.;
3. Compare the name of the Unix .taz files with the output of uname -a. Determine whether or not the component is compatible with the operating system.;
4. Use a text editor to open the oplrqb.ini file. Locate the [Protocol TCP] Listen parameter, and take note of the port.;
5. Run netstat -a and open /etc/services or C:/WINNT/SYSTEM32/DRIVERS/ETC/services to determine if the Broker's Listen port is in use by another service. This is typical of Windows XP which uses port 5000 by default.;
6. Run netstat -a open /etc/services or C:/WINNT/SYSTEM32/DRIVERS/ETC/services to determine if UDP port #60001 is in use. This will affect 1.x and 3.x installations.;
7. Attempt to start Windows Brokers with the Services utility and the DOS command line.;
8. Determine what service packs, patches, or upgrades have been applied to the operating system. Some upgrades cause the Broker service to fail.;
Troubleshooting
How Do I Assist Users Who Cannot Set Environment Variables?
Instruct users to perform the following action:
-- Ensure that the openlink.sh and openlink.csh files are executable.;
-- Run . ./openlink.sh in a Bourne and/or a Bash shell. ;
-- Run source openlink.csh in a C shell, if the problem persists. ;
-- Set the variables--contained within the shell scripts--manually, if the problem persists.
Users do not want to set variables on the command line. However, this may be a temporary solution to an environment variables problem. Remind users that some systems accept the following syntax: export ODBCINI=/usr/openlink/bin/odbc.ini .
However, some systems prefer this syntax: set ODBCINI=/usr/openlink/bin/odbc.ini;export ODBCINI .
When in doubt, consult the man pages or another Unix reference.
Troubleshooting
How Do I Assist Users Who Cannot Set Environment Variables?
Instruct users to perform the following action:
-- Ensure that the openlink.sh and openlink.csh files are executable.;
-- Run . ./openlink.sh in a Bourne and/or a Bash shell. ;
-- Run source openlink.csh in a C shell, if the problem persists. ;
-- Set the variables--contained within the shell scripts--manually, if the problem persists.
Users do not want to set variables on the command line. However, this may be a temporary solution to an environment variables problem. Remind users that some systems accept the following syntax: export ODBCINI=/usr/openlink/bin/odbc.ini .
However, some systems prefer this syntax: set ODBCINI=/usr/openlink/bin/odbc.ini;export ODBCINI .
When in doubt, consult the man pages or another Unix reference.
Troubleshooting
How Do I Interpret Admin Assistant Logs?
The Admin Assistant writes the following information to a file, when startup is successful:
Thu Mar 04 2004
15:07:11 started http://openlinux.openlinksw.com:8051
Here, we see the URL from which the Admin Assistant is accessed in a browser. The first part of the URL designates the machine (openlinux.openlinksw.com) on which it started. The number appended to the end of the machine is the TCP port on which it listens. This port is also the HTTPServer port that appears in the www_sv.ini file. The www_sv.ini file appears in the /bin/w3config sub-directory of OpenLink server components installations. The Admin Assistant will write simple error messages to the log when startup fails. Consultants must search the knowledge-base for the import of these errors. Finally, we have reviewed the default Admin Assistant log entries. However, users can cause the Admin Assistant to run at log level 7. This is achieved by setting the log level in the [www_sv] of the Session Rules Book. For example:
[www_sv]
Program = w3config/www_sv
Directory = w3config
CommandLine = +loglevel 6
Log level 7 causes the Admin Assistant to output an HTTP log that display individual scripts and images as it serves them. Be sure to look for errors interspersed between the entries.
Troubleshooting
How Do I Interpret Admin Assistant Logs?
The Admin Assistant writes the following information to a file, when startup is successful:
Thu Mar 04 2004
15:07:11 started http://openlinux.openlinksw.com:8051
Here, we see the URL from which the Admin Assistant is accessed in a browser. The first part of the URL designates the machine (openlinux.openlinksw.com) on which it started. The number appended to the end of the machine is the TCP port on which it listens. This port is also the HTTPServer port that appears in the www_sv.ini file. The www_sv.ini file appears in the /bin/w3config sub-directory of OpenLink server components installations. The Admin Assistant will write simple error messages to the log when startup fails. Consultants must search the knowledge-base for the import of these errors. Finally, we have reviewed the default Admin Assistant log entries. However, users can cause the Admin Assistant to run at log level 7. This is achieved by setting the log level in the [www_sv] of the Session Rules Book. For example:
[www_sv]
Program = w3config/www_sv
Directory = w3config
CommandLine = +loglevel 6
Log level 7 causes the Admin Assistant to output an HTTP log that display individual scripts and images as it serves them. Be sure to look for errors interspersed between the entries.
Troubleshooting
How Do I Interpret Classpaths?
The CLASSPATH variable passes the full path to an OpenLink opljdbc.jar or megathin.jar file. Consultant's need to consider the following factors when examining CLASSPATH environment variables:
1. Was CLASSPATH set at the time of reported failure? Review the output of set, the Windows autoexec.bat file, or Windows System utility screen-shots for corroboration.
2. Does CLASSPATH point to a valid .jar file? Review the output of ls or dir in the directory structure for the purpose of corroboration.
3. Do file or directory permissions issues restrict access to the .jar file?
4. Does the .jar file JDK version correspond with the client JRE version?
5. Does CLASSPATH need to be set within application code?
Troubleshooting
How Do I Interpret Classpaths?
The CLASSPATH variable passes the full path to an OpenLink opljdbc.jar or megathin.jar file. Consultant's need to consider the following factors when examining CLASSPATH environment variables:
1. Was CLASSPATH set at the time of reported failure? Review the output of set, the Windows autoexec.bat file, or Windows System utility screen-shots for corroboration.
2. Does CLASSPATH point to a valid .jar file? Review the output of ls or dir in the directory structure for the purpose of corroboration.
3. Do file or directory permissions issues restrict access to the .jar file?
4. Does the .jar file JDK version correspond with the client JRE version?
5. Does CLASSPATH need to be set within application code?
Troubleshooting
How Do I Interpret DBMS Versions?
DBMS server versions can provide a host of information:
1. Compare the user's DBMS version with the Multi-Tier database agent version string or Single-Tier driver version. Is the DBMS compatible with the agent or lite driver?
2. Compare the user's DBMS version with the DBMS version against which OpenLink's product was built. Are they the same? Differences in server version or patch level may contribute to a host of problems including outright compatibility or subtle stability issues.
3. Compare the user's DBMS version with the operating system version and patch level. Does the operating system meet the system requirements of the DBMS?
4. Obtain Unix server's kernel tuning parameters. Do the tuning parameters match the requirements specified in the DBMS documentation? Insufficient tuning parameters contribute to stability problems.
5. Is the user's DBMS server version associated with limitations or bugs? Is the DBMS server's patch level current?
Recommend re-links to Multi-Tier users, when their DBMS version and their database agent version strings differ. Relinking resolves some compatibility issues.
Troubleshooting
How Do I Interpret DBMS Versions?
DBMS server versions can provide a host of information:
1. Compare the user's DBMS version with the Multi-Tier database agent version string or Single-Tier driver version. Is the DBMS compatible with the agent or lite driver?
2. Compare the user's DBMS version with the DBMS version against which OpenLink's product was built. Are they the same? Differences in server version or patch level may contribute to a host of problems including outright compatibility or subtle stability issues.
3. Compare the user's DBMS version with the operating system version and patch level. Does the operating system meet the system requirements of the DBMS?
4. Obtain Unix server's kernel tuning parameters. Do the tuning parameters match the requirements specified in the DBMS documentation? Insufficient tuning parameters contribute to stability problems.
5. Is the user's DBMS server version associated with limitations or bugs? Is the DBMS server's patch level current?
Recommend re-links to Multi-Tier users, when their DBMS version and their database agent version strings differ. Relinking resolves some compatibility issues.
Troubleshooting
How Do I Interpret Database Agent Version Strings?
Database Agent Version Strings produce the following information: Finally, version string errors provide useful, diagnostic information. Failure to produce version strings often stems from one of three problems:
1. The agent does not exist on the system.
2. Permissions prohibit the execution of the agent.
3. The agent has library issues. Typically, the agent requires the addition of the database lib sub-directory to LD_LIBRARY_PATH, LIBPATH (AIX), or SHLIB_PATH (HP/UX).
Database Agent Version Strings should be compared to Request Broker Version Strings and Client Version Strings to ensure compatibility. Compatibility and stability problems arise, when Multi-Tier component versions differ.
Troubleshooting
How Do I Interpret Database Agent Version Strings?
Database Agent Version Strings produce the following information: Finally, version string errors provide useful, diagnostic information. Failure to produce version strings often stems from one of three problems:
1. The agent does not exist on the system.
2. Permissions prohibit the execution of the agent.
3. The agent has library issues. Typically, the agent requires the addition of the database lib sub-directory to LD_LIBRARY_PATH, LIBPATH (AIX), or SHLIB_PATH (HP/UX).
Database Agent Version Strings should be compared to Request Broker Version Strings and Client Version Strings to ensure compatibility. Compatibility and stability problems arise, when Multi-Tier component versions differ.
Troubleshooting
How Do I Interpret Database Profiles?
Database .profiles are Unix files that contain variables that databases need to function. They appear in the root directory of most database installations. Furthermore, these environment variables facilitate ODBC, JDBC, and other data access mechanisms. Multi-Tier users need to ensure that pertinent database .profile variables appear in the [Environment] section of their Session Rules Books. The Session Rules Book is the oplrqb.ini file that resides in the /bin sub-directory of the OpenLink server components installation.
Troubleshooting
How Do I Interpret Installation Shell Scripts?
1. Obtain copies of the user's installation shell script and installation files.
2. Obtain the output of uname -a on the problem machine.
3. Transfer the files to an appropriate test box.
4. Run the installation procedure.
Troubleshooting
How Do I Interpret Installation Shell Scripts?
1. Obtain copies of the user's installation shell script and installation files.
2. Obtain the output of uname -a on the problem machine.
3. Transfer the files to an appropriate test box.
4. Run the installation procedure.
Troubleshooting
How Do I Interpret License Files?
Do you have an OpenLink 4.x or newer license? If so, take the following action:
1. Save the license to the directory that contains asnprint.exe.
2. Open a DOS prompt.
3. cd into the directory that contains asnprint.exe.
4. Run asnprint.exe . For example:
asnprint.exe oplrqb
asnprint.exe reveals the following, useful information:
-- SerialNumber - Does the user report Duplicate Serial Number errors? If so, gather all licenses from the user environment and compare serial numbers. The serial numbers must not be identical. Identical serial numbers show that the user is attempting to break the licensing agreement by using one license on multiple machines. Direct such users to Account Management.
-- RegisteredTo - This parameter has no support value.
-- NumberOfUsers - This value represents the number of client machines that can connect simultaneously. It is useful in resolving "exceeded maximum number of licensed connections errors." If a user experiences this error, compare the NumberOfUsers parameter to the number of client machines that connect at one time. Traces,log files, or database monitoring tools may also be needed to ascertain the true number of clients that are connected at one time.
-- NumberOfConnections - This value represents the number of database sessions that may be opened simultaneously. It is useful in resolving "exceeded maximum number of licensed connections errors." If a user experiences this error, compare the NumberOfConnections parameter to the number of open database sessions. Traces,log files, oplshut -s output, or database monitoring tools may also be needed to ascertain the true number of sessions that are open at one time.
-- NumberOfCPUs - This value must match the number of CPUs installed in the user's machine.
-- Clients - An ODBC designation will prevent users from using the JDBC Data Access Mechanism. An JDBC designation will prevent users from using the ODBC Data Access Mechanism.
-- ExpireDate - Check this parameter, if the user reports license expiration errors. Compare with the current date.
-- Platform - Check this parameter, if the user experiences errors that suggest the license is invalid for the operating system. Compare with a uname -a from the actual machine.
-- Availability
-- Release - Check this parameter, if the user reports invalid license or upgrade license errors. Compare with Multi-Tier Broker and/or agent strings or Single-Tier version information.
Consultants may open OpenLink's 1.x and 3.x licenses to obtain the same information. Finally, if licensing problems persist, take the following action:
-- Ensure that only one license appears on the relevant machine.
-- Ensure that Multi-Tier Request Brokers are restarted or reinitialized.
-- Ensure that Single-Tier drivers and Single-Tier licenses share the same product code.
As a last resort, reinstall and relicense the product. Wipe references to OpenLink products from Windows registries, where appropriate.
Troubleshooting
How Do I Interpret License Files?
Do you have an OpenLink 4.x or newer license? If so, take the following action:
1. Save the license to the directory that contains asnprint.exe.
2. Open a DOS prompt.
3. cd into the directory that contains asnprint.exe.
4. Run asnprint.exe . For example:
asnprint.exe oplrqb
asnprint.exe reveals the following, useful information:
-- SerialNumber - Does the user report Duplicate Serial Number errors? If so, gather all licenses from the user environment and compare serial numbers. The serial numbers must not be identical. Identical serial numbers show that the user is attempting to break the licensing agreement by using one license on multiple machines. Direct such users to Account Management.
-- RegisteredTo - This parameter has no support value.
-- NumberOfUsers - This value represents the number of client machines that can connect simultaneously. It is useful in resolving "exceeded maximum number of licensed connections errors." If a user experiences this error, compare the NumberOfUsers parameter to the number of client machines that connect at one time. Traces,log files, or database monitoring tools may also be needed to ascertain the true number of clients that are connected at one time.
-- NumberOfConnections - This value represents the number of database sessions that may be opened simultaneously. It is useful in resolving "exceeded maximum number of licensed connections errors." If a user experiences this error, compare the NumberOfConnections parameter to the number of open database sessions. Traces,log files, oplshut -s output, or database monitoring tools may also be needed to ascertain the true number of sessions that are open at one time.
-- NumberOfCPUs - This value must match the number of CPUs installed in the user's machine.
-- Clients - An ODBC designation will prevent users from using the JDBC Data Access Mechanism. An JDBC designation will prevent users from using the ODBC Data Access Mechanism.
-- ExpireDate - Check this parameter, if the user reports license expiration errors. Compare with the current date.
-- Platform - Check this parameter, if the user experiences errors that suggest the license is invalid for the operating system. Compare with a uname -a from the actual machine.
-- Availability
-- Release - Check this parameter, if the user reports invalid license or upgrade license errors. Compare with Multi-Tier Broker and/or agent strings or Single-Tier version information.
Consultants may open OpenLink's 1.x and 3.x licenses to obtain the same information. Finally, if licensing problems persist, take the following action:
-- Ensure that only one license appears on the relevant machine.
-- Ensure that Multi-Tier Request Brokers are restarted or reinitialized.
-- Ensure that Single-Tier drivers and Single-Tier licenses share the same product code.
As a last resort, reinstall and relicense the product. Wipe references to OpenLink products from Windows registries, where appropriate.
Troubleshooting
How Do I Interpret Name Of Taz Files?
.taz file names are useful for detecting product and operating system incompatibilities. (Failure to install, core dumps, segmentation faults, signals, and blatant incompatibility errors are all possible side effects of product and OS mismatch.) If you suspect an incompatibility, obtain the name of the .taz file and a uname -a from the affected machine. Decode the .taz file name to see if it was intended for the user's operating system.
Troubleshooting
How Do I Interpret Openlink ini Files?
The Single-Tier openlink.ini file associates database specific environment variables and port settings with Single-Tier domain aliases. For example:
[Server Types]
Oracle 8.1.x =
[Environment Oracle 8.1.x]
ORACLE_HOME = /dbs5/oracle9i/64bit/v9.2.0.1.0
ORACLE_SID = ora92
;ORACLE_SERVER = T
;TWO_TASK = P:
;ODBC_CATALOGS = Y
;MULTIPLEX_LDA = 5
;OPL_USR_TBLS_FIRST = Y
SHOW_REMARKS = N
CURSOR_SENSITIVITY = LOW
;OCI_PREFETCH_ROWS = 100 ;
;OCI_PREFETCH_MEMORY = 65535 ;
;NLS_LANG = AMERICAN_AMERICA.UTF8
Use the following guidelines to interpret openlink.ini files:
1. Ascertain which server type (a.k.a. "domain alias") is passed in the Single-Tier Data Source.
2. Open the openlink.ini file.
3. Ensure that the server type appears in the [Server Type] list.
4. Locate the [Environment] section that is associated with the server type.
5. Ensure that the appropriate environment variables are set.
6. Compare the variable settings with the database user .profile to ensure accuracy.
7. Use relevant database utilities or configuration files to verify any TCP port settings.
Troubleshooting
How Do I Interpret Openlink ini Files?
The Single-Tier openlink.ini file associates database specific environment variables and port settings with Single-Tier domain aliases. For example:
[Server Types]
Oracle 8.1.x =
[Environment Oracle 8.1.x]
ORACLE_HOME = /dbs5/oracle9i/64bit/v9.2.0.1.0
ORACLE_SID = ora92
;ORACLE_SERVER = T
;TWO_TASK = P:
;ODBC_CATALOGS = Y
;MULTIPLEX_LDA = 5
;OPL_USR_TBLS_FIRST = Y
SHOW_REMARKS = N
CURSOR_SENSITIVITY = LOW
;OCI_PREFETCH_ROWS = 100 ;
;OCI_PREFETCH_MEMORY = 65535 ;
;NLS_LANG = AMERICAN_AMERICA.UTF8
Use the following guidelines to interpret openlink.ini files:
1. Ascertain which server type (a.k.a. "domain alias") is passed in the Single-Tier Data Source.
2. Open the openlink.ini file.
3. Ensure that the server type appears in the [Server Type] list.
4. Locate the [Environment] section that is associated with the server type.
5. Ensure that the appropriate environment variables are set.
6. Compare the variable settings with the database user .profile to ensure accuracy.
7. Use relevant database utilities or configuration files to verify any TCP port settings.
Troubleshooting
How Do I Interpret Output Of Java Commands?
1. Ensure that the java command returns driver version information. Failure to return version information may show an incompatibility or environment problem.
2. Ensure that successful driver version information matches the expected driver name and version.
3. Check available resources to see if the driver version is associated with limitations, bugs, or other known issues. Bugzilla is the best point of reference for OpenLink JDBC drivers.
4. Compare Multi-Tier JDBC client java output with Request Broker Version and Database Agent Version strings. Differing client and server versions create compatibility and stability problems.
Troubleshooting
How Do I Interpret Output Of Java Commands?
1. Ensure that the java command returns driver version information. Failure to return version information may show an incompatibility or environment problem.
2. Ensure that successful driver version information matches the expected driver name and version.
3. Check available resources to see if the driver version is associated with limitations, bugs, or other known issues. Bugzilla is the best point of reference for OpenLink JDBC drivers.
4. Compare Multi-Tier JDBC client java output with Request Broker Version and Database Agent Version strings. Differing client and server versions create compatibility and stability problems.
Troubleshooting
How Do I Interpret Output Of Oplshut?
oplshut -s produces the following output:
[openlink@openlinux bin]$ ./oplshut -s
SVPID SVTYPE MACHINE OPSYS APPLIC DATABASE USERNAME CONNECT
--------------------------------------------------------------------------------
1480 mys3 dyn2.openlinksw msdos cppdmo32 test mysql Mar 30 12:01
Here is a brief overview of the output displayed by oplshut -s: SVPID - Associates a Process Identification Number with a database agent. Users can run oplshut +kill svpid to terminate database agents that will not disconnect. For example:
oplshut +kill 1480
oplshut +kill will terminate all connections associated with an agent. This is important since multi-threaded agents may handle multiple connections simultaneously. SVTYPE - Passes a label which identifies the Domain Alias, which was used to establish the connection. The Domain Aliases appear in the Session Rules Book (oplrqb.ini)
Troubleshooting
How Do I Interpret Output Of Oplshut?
oplshut -s produces the following output:
[openlink@openlinux bin]$ ./oplshut -s
SVPID SVTYPE MACHINE OPSYS APPLIC DATABASE USERNAME CONNECT
--------------------------------------------------------------------------------
1480 mys3 dyn2.openlinksw msdos cppdmo32 test mysql Mar 30 12:01
Here is a brief overview of the output displayed by oplshut -s: SVPID - Associates a Process Identification Number with a database agent. Users can run oplshut +kill svpid to terminate database agents that will not disconnect. For example:
oplshut +kill 1480
oplshut +kill will terminate all connections associated with an agent. This is important since multi-threaded agents may handle multiple connections simultaneously. SVTYPE - Passes a label which identifies the Domain Alias, which was used to establish the connection. The Domain Aliases appear in the Session Rules Book (oplrqb.ini)
Troubleshooting
How Do I Interpret Output Of Set?
OpenLink's Unix components require the following ODBC environment variables to be set:
-- CLASSPATH A JAVA client variable that passes the full path to an OpenLink JDBC .jar file. This variable should appear on all systems that contain OpenLink JDBC client components.
-- LD_LIBRARY_PATH A generic library path variable that appends the full path to OpenLink's lib sub-directory. This variable should be set on any machine that contains Single-Tier or Multi-Tier client or server components.
-- LIBPATH An AIX library path variable that appends the full path to OpenLink's lib sub-directory. This variable should be set on any AIX machine that contains Single-Tier or Multi-Tier client or server components.
-- ODBCINI Passes the full path to ~/openlink/bin/odbc.ini. This variable should be set on any machine that contains Single-Tier or Multi-Tier client components.
-- ODBCINSTINI Passes the full path to ~/openlink/bin/odbcinst.ini. This variable should be set on any machine that contains Single-Tier or Multi-Tier client components.
-- OPENLINKINI This Single-Tier variable passes the full path to ~/openlink/bin/openlink.ini. This variable should be set on any machine that contains Single-Tier client components.
-- PATH Appends the full path to OpenLink's bin sub-directory. This variable should be set on any machine that contains Single-Tier or Multi-Tier client or server components.
-- SHLIB_PATH An HP/UX library path variable that appends the full path to OpenLink's lib sub-directory. This variable should be set on any HP/UX machine that contains Single-Tier or Multi-Tier client or server components.
set output should be checked against ls output for the relevant directories structures. This shows:
-- Which environment variables are set.
-- Which environment variables are missing.
-- Whether or not variable paths are correct.
-- Whether or not permissions prevent access to files or directories.
OpenLink's drivers also require database specific environment variables. set should be run before Single-Tier client installation or Multi-Tier server component installation. Users must ensure that the relevant database native environment variables are set. This enables OpenLink's installers to detect the settings and write them into Single-Tier openlink.ini or Multi-Tier oplrqb.ini file.
Troubleshooting
How Do I Interpret Output Of Set?
OpenLink's Unix components require the following ODBC environment variables to be set:
-- CLASSPATH A JAVA client variable that passes the full path to an OpenLink JDBC .jar file. This variable should appear on all systems that contain OpenLink JDBC client components.
-- LD_LIBRARY_PATH A generic library path variable that appends the full path to OpenLink's lib sub-directory. This variable should be set on any machine that contains Single-Tier or Multi-Tier client or server components.
-- LIBPATH An AIX library path variable that appends the full path to OpenLink's lib sub-directory. This variable should be set on any AIX machine that contains Single-Tier or Multi-Tier client or server components.
-- ODBCINI Passes the full path to ~/openlink/bin/odbc.ini. This variable should be set on any machine that contains Single-Tier or Multi-Tier client components.
-- ODBCINSTINI Passes the full path to ~/openlink/bin/odbcinst.ini. This variable should be set on any machine that contains Single-Tier or Multi-Tier client components.
-- OPENLINKINI This Single-Tier variable passes the full path to ~/openlink/bin/openlink.ini. This variable should be set on any machine that contains Single-Tier client components.
-- PATH Appends the full path to OpenLink's bin sub-directory. This variable should be set on any machine that contains Single-Tier or Multi-Tier client or server components.
-- SHLIB_PATH An HP/UX library path variable that appends the full path to OpenLink's lib sub-directory. This variable should be set on any HP/UX machine that contains Single-Tier or Multi-Tier client or server components.
set output should be checked against ls output for the relevant directories structures. This shows:
-- Which environment variables are set.
-- Which environment variables are missing.
-- Whether or not variable paths are correct.
-- Whether or not permissions prevent access to files or directories.
OpenLink's drivers also require database specific environment variables. set should be run before Single-Tier client installation or Multi-Tier server component installation. Users must ensure that the relevant database native environment variables are set. This enables OpenLink's installers to detect the settings and write them into Single-Tier openlink.ini or Multi-Tier oplrqb.ini file.
Troubleshooting
How Do I Interpret Relink Scripts?
OpenLink's re-link scripts are associated with missing library errors and missing symbol errors. Use the following guidelines to troubleshoot these problems: Missing Libraries:
1. Search the machine for the missing library.
2. Ensure that no file or directory permissions prohibit access to found libraries.
3. Ensure that LD_LIBRARY_PATH, LIBPATH, or SHLIB_PATH pass the location of found libraries.
4. Pass the full path to found libraries within the re-link script itself. In most cases, pass the library on the cc -s -o line. However, pass the library on the make -f line in Oracle scripts. Pass the library under $PRO_EXTRA in Progress mkdlc scripts.
Missing Symbols
1. Login to the machine.
2. cd into the database's /lib sub-directory.
3. Run the following command: nm -A *.so | grep . For example:
nm -A *.so | grep xsendto
4. Record the names of files, which contain the symbols. The filename will be the first name in the nm output.
5. cd to the /lib sub-directory of the OpenLink installation.
6. vi the script that produced the error.
7. Pass the full path to found libraries within the re-link script itself. In most cases, pass the library on the cc -s -o line. However, pass the library on the make -f line in Oracle scripts. Pass the library under $PRO_EXTRA in Progress mkdlc scripts.
Troubleshooting
How Do I Interpret Relink Scripts?
OpenLink's re-link scripts are associated with missing library errors and missing symbol errors. Use the following guidelines to troubleshoot these problems: Missing Libraries:
1. Search the machine for the missing library.
2. Ensure that no file or directory permissions prohibit access to found libraries.
3. Ensure that LD_LIBRARY_PATH, LIBPATH, or SHLIB_PATH pass the location of found libraries.
4. Pass the full path to found libraries within the re-link script itself. In most cases, pass the library on the cc -s -o line. However, pass the library on the make -f line in Oracle scripts. Pass the library under $PRO_EXTRA in Progress mkdlc scripts.
Missing Symbols
1. Login to the machine.
2. cd into the database's /lib sub-directory.
3. Run the following command: nm -A *.so | grep . For example:
nm -A *.so | grep xsendto
4. Record the names of files, which contain the symbols. The filename will be the first name in the nm output.
5. cd to the /lib sub-directory of the OpenLink installation.
6. vi the script that produced the error.
7. Pass the full path to found libraries within the re-link script itself. In most cases, pass the library on the cc -s -o line. However, pass the library on the make -f line in Oracle scripts. Pass the library under $PRO_EXTRA in Progress mkdlc scripts.
Troubleshooting
How Do I Interpret Request Broker Logs?
Use the following guidelines to interpret Request Broker Log files.
Tue Oct 15 2002
Make sure the log date corresponds to the occurrence of the problem.
12:25:46 using rule-book /home/openlink/32bit/v42/bin/oplrqb.ini
Check the path to oplrqb.ini. Ensure that the correct file is referenced. Users can encounter problems, when they have multiple, Multi-Tier installations. Specifically, users will notice that the wrong agents are spawned and the wrong environment variables may be employed.
12:25:46 bound UDP protocol to 0.0.0.0.60001
Check for UDP and "address in use" errors. Use netstat -a & the services file to debug any problems that occur with the UDP port. Likewise, ensure that UDP is enabled on the client and server machines that produce UDP broadcast errors.
12:25:46 bound TCP protocol to 0.0.0.0.5000
Check for "address already in use" and other TCP port problems. Use netstat -a & the services file to debug any problems that may occur. In the event of a port conflict, users may change the Broker's Listen port. Users will find the Listen parameter in the [Protocol TCP] section of oplrqb.ini.
12:25:46 using UDP address 192.168.11.116.0 for IPC
Check for UDP and "address in use" errors. Use netstat -a & the services file to debug any problems that occur with the UDP port. Likewise, ensure that UDP is enabled on the client and server machines that produce UDP broadcast errors.
12:25:46 request broker started by openlink
Brokers started by root may cause resource problems or Progress "login by batch" errors. Search for "batch" and resource related problems later in the file.
12:25:46 spawning /home/openlink/32bit/v42/bin/w3config/www_sv www_sv
www_sv powers the Admin Assistant. Moreover, it uses the HttpPort passed in the www_sv.ini file. If "address" or other TCP port usage problems occur, run netstat -a and services to debug port conflicts. If necessary, have the user change the HttpPort in ~/openlink/bin/w3config/www_sv.ini file.
12:25:46 started persistent www_sv (pid=12219)
12:25:53 example.com called (*******)
12:25:53 request: domain=Progress 91C database=demo.db serveropts=
12:25:53 connectopts=-S pro91c -N tcp -H **** user= demo_user=unix readonly=0
These parameters are read from the Data Source Name. Check for inappropriate values. Additionally, watch for "Broker cannot resolve your request" errors. "Request" errors occur when the Domain name passed in this parameter list does not appear in the [Domain Aliases] section of oplrqb.ini. Users must create the appropriate in oplrqb.ini or choose an existing alias.
12:25:53 application=odbctest processid=12220
12:25:53 solve mapping: pro91c:demo:blank:other:example.com:odbctest:rw
12:25:53 using mapping: pro91c:*:*:*:*:*:*
The Broker takes the abbreviated form of the domain alias and searches for matches in the [Mapping Rules] section of oplrqb.ini. The Broker will use the appropriate rule to prohibit or permit access to the database. Users may encounter "Mapping not found" errors, if their alias does not have an associated rule. Additionally, users may inadvertently create complex rules, which restrict their ability to connect.
12:25:53 using [generic_pro91c] ServerProgram=pro91c_sv
Most mapping rules will point the Broker to a [generic] agent configuration section. This section passes the name of the database agent that is written in the database's CLI. It passes the location of database-specific environment variables, and it passes hard-coded connection parameters. Problems will occur on this line, if the agent configuration section does not exist in oplrqb.ini.
12:25:53 connect params: domain=Progress 91C db=demo.db
serveropts=-T /tmp -d mdy -TB 31 -TM 31 -q -NL readonly=0
12:25:53 connectopts=-S pro91c -N tcp -H oplushp2 user= demo_user=unix
machine=example.com application=odbctest
This line shows the final list of parameters that will be used to establish the connection. In essence, the Broker tosses out specific Data Source Name parameters if corresponding parameters are hard-coded in oplrqb.ini. These hard-coded parameters can result in problems, if the user forgets they exist. Typically, users will discover that they are connected to the wrong database, they are authenticated as the wrong user, or they are restricted to read-only access. They may also experience authentication problems, which arise when OPSYSLOGIN is enabled. OPSYSLOGIN uses operating system parameters to authenticate. It does not recognize the typical database username and password.
12:25:53 spawning /home/openlink/32bit/v42/bin/pro91c_sv generic_pro91c
This line shows the agent that is spawned for the connection. Problems occur if permissions prohibit spawning. Problems also occur when the agent is not compatible with the operating system or the agent cannot be found.
12:25:53 setting Environment PROGRESS91C
12:25:53 change environment 'CURSOR_SENSITIVITY' -> 'LOW'
12:25:53 change environment 'DLC' -> '/dbs2/progress/v91c'
12:25:53 change environment 'PROCFG' -> '/dbs2/progress/v91c/progress.cfg'
The [generic] agent configuration section contains an Environment parameter. This parameter passes the location of an [Environment] section. This [Environment] section passes database-specific environment variables that are needed to establish the connection. Problems arise when the [Environment] section does not exist in oplrqb.ini.
12:25:53 asking agent for server handle
"Server handle" errors occur when the preceding environment variables are incorrect. If environment variables are correct, consult the OPIE knowledge-base for additional information.
12:25:53 got it!
12:25:53 asking agent for connection handle
"Connection handle" errors occur when connection parameters are incorrect. If the parameters are correct, consult OPIE for additional information.
12:25:53 got it!
12:25:53 accepted blank@example.com.odbctest
At this point, your user is connected to the database. However, a wide array of produce and database errors may occur at this point. Consult OPIE for the nature and description of these errors.
Troubleshooting
How Do I Interpret Request Broker Logs?
Use the following guidelines to interpret Request Broker Log files.
Tue Oct 15 2002
Make sure the log date corresponds to the occurrence of the problem.
12:25:46 using rule-book /home/openlink/32bit/v42/bin/oplrqb.ini
Check the path to oplrqb.ini. Ensure that the correct file is referenced. Users can encounter problems, when they have multiple, Multi-Tier installations. Specifically, users will notice that the wrong agents are spawned and the wrong environment variables may be employed.
12:25:46 bound UDP protocol to 0.0.0.0.60001
Check for UDP and "address in use" errors. Use netstat -a & the services file to debug any problems that occur with the UDP port. Likewise, ensure that UDP is enabled on the client and server machines that produce UDP broadcast errors.
12:25:46 bound TCP protocol to 0.0.0.0.5000
Check for "address already in use" and other TCP port problems. Use netstat -a & the services file to debug any problems that may occur. In the event of a port conflict, users may change the Broker's Listen port. Users will find the Listen parameter in the [Protocol TCP] section of oplrqb.ini.
12:25:46 using UDP address 192.168.11.116.0 for IPC
Check for UDP and "address in use" errors. Use netstat -a & the services file to debug any problems that occur with the UDP port. Likewise, ensure that UDP is enabled on the client and server machines that produce UDP broadcast errors.
12:25:46 request broker started by openlink
Brokers started by root may cause resource problems or Progress "login by batch" errors. Search for "batch" and resource related problems later in the file.
12:25:46 spawning /home/openlink/32bit/v42/bin/w3config/www_sv www_sv
www_sv powers the Admin Assistant. Moreover, it uses the HttpPort passed in the www_sv.ini file. If "address" or other TCP port usage problems occur, run netstat -a and services to debug port conflicts. If necessary, have the user change the HttpPort in ~/openlink/bin/w3config/www_sv.ini file.
12:25:46 started persistent www_sv (pid=12219)
12:25:53 example.com called (*******)
12:25:53 request: domain=Progress 91C database=demo.db serveropts=
12:25:53 connectopts=-S pro91c -N tcp -H **** user= demo_user=unix readonly=0
These parameters are read from the Data Source Name. Check for inappropriate values. Additionally, watch for "Broker cannot resolve your request" errors. "Request" errors occur when the Domain name passed in this parameter list does not appear in the [Domain Aliases] section of oplrqb.ini. Users must create the appropriate in oplrqb.ini or choose an existing alias.
12:25:53 application=odbctest processid=12220
12:25:53 solve mapping: pro91c:demo:blank:other:example.com:odbctest:rw
12:25:53 using mapping: pro91c:*:*:*:*:*:*
The Broker takes the abbreviated form of the domain alias and searches for matches in the [Mapping Rules] section of oplrqb.ini. The Broker will use the appropriate rule to prohibit or permit access to the database. Users may encounter "Mapping not found" errors, if their alias does not have an associated rule. Additionally, users may inadvertently create complex rules, which restrict their ability to connect.
12:25:53 using [generic_pro91c] ServerProgram=pro91c_sv
Most mapping rules will point the Broker to a [generic] agent configuration section. This section passes the name of the database agent that is written in the database's CLI. It passes the location of database-specific environment variables, and it passes hard-coded connection parameters. Problems will occur on this line, if the agent configuration section does not exist in oplrqb.ini.
12:25:53 connect params: domain=Progress 91C db=demo.db
serveropts=-T /tmp -d mdy -TB 31 -TM 31 -q -NL readonly=0
12:25:53 connectopts=-S pro91c -N tcp -H oplushp2 user= demo_user=unix
machine=example.com application=odbctest
This line shows the final list of parameters that will be used to establish the connection. In essence, the Broker tosses out specific Data Source Name parameters if corresponding parameters are hard-coded in oplrqb.ini. These hard-coded parameters can result in problems, if the user forgets they exist. Typically, users will discover that they are connected to the wrong database, they are authenticated as the wrong user, or they are restricted to read-only access. They may also experience authentication problems, which arise when OPSYSLOGIN is enabled. OPSYSLOGIN uses operating system parameters to authenticate. It does not recognize the typical database username and password.
12:25:53 spawning /home/openlink/32bit/v42/bin/pro91c_sv generic_pro91c
This line shows the agent that is spawned for the connection. Problems occur if permissions prohibit spawning. Problems also occur when the agent is not compatible with the operating system or the agent cannot be found.
12:25:53 setting Environment PROGRESS91C
12:25:53 change environment 'CURSOR_SENSITIVITY' -> 'LOW'
12:25:53 change environment 'DLC' -> '/dbs2/progress/v91c'
12:25:53 change environment 'PROCFG' -> '/dbs2/progress/v91c/progress.cfg'
The [generic] agent configuration section contains an Environment parameter. This parameter passes the location of an [Environment] section. This [Environment] section passes database-specific environment variables that are needed to establish the connection. Problems arise when the [Environment] section does not exist in oplrqb.ini.
12:25:53 asking agent for server handle
"Server handle" errors occur when the preceding environment variables are incorrect. If environment variables are correct, consult the OPIE knowledge-base for additional information.
12:25:53 got it!
12:25:53 asking agent for connection handle
"Connection handle" errors occur when connection parameters are incorrect. If the parameters are correct, consult OPIE for additional information.
12:25:53 got it!
12:25:53 accepted blank@example.com.odbctest
At this point, your user is connected to the database. However, a wide array of produce and database errors may occur at this point. Consult OPIE for the nature and description of these errors.
Troubleshooting
How Do I Interpret Request Broker Version Strings?
Request Broker Version Strings produce the following information: Version Information - Is the Broker current? Is the Broker version associated with specific limitations, formal bugzillas, or other known problems? Platform of Compilation - Compare the platform of compilation information with the output of uname -a on the affected server. Is the Broker compatible with that operating system? Finally, version string errors provide useful, diagnostic information. Failure to produce version strings often stems from one of three problems:
1. The Broker does not exist on the system.
2. Permissions prohibit the execution of the Broker version string.
3. The Broker has file dependency issues. Users may need to adjust PATH or other environment variables to pick up needed libraries.
Request Version Strings should be compared to Database Agent Version Strings and Client Version Strings to ensure compatibility. Compatibility and stability problems arise, when Multi-Tier component versions differ.
Troubleshooting
How Do I Interpret Request Broker Version Strings?
Request Broker Version Strings produce the following information: Version Information - Is the Broker current? Is the Broker version associated with specific limitations, formal bugzillas, or other known problems? Platform of Compilation - Compare the platform of compilation information with the output of uname -a on the affected server. Is the Broker compatible with that operating system? Finally, version string errors provide useful, diagnostic information. Failure to produce version strings often stems from one of three problems:
1. The Broker does not exist on the system.
2. Permissions prohibit the execution of the Broker version string.
3. The Broker has file dependency issues. Users may need to adjust PATH or other environment variables to pick up needed libraries.
Request Version Strings should be compared to Database Agent Version Strings and Client Version Strings to ensure compatibility. Compatibility and stability problems arise, when Multi-Tier component versions differ.
Troubleshooting
How Do I Interpret Udbc ini Files?
Here are the operative portions of a udbc.ini file:
[UDBC]
;DebugFile= /tmp/udbc.out
[Communications]
ReceiveTimeout = 120
BrokerTimeout = 30;
RetryTimeout = 5
SendSize= 4096
ReceiveSize = 16000
ShowErrors= Y
DataEncryption = N
[dsn_oracle]
Description = Sample Oracle DSN
Host = 192.62.13.144
ServerType = Oracle 8.1.x
FetchBufferSize = 60
Database = ORCL
ServerOptions =
ConnectOptions =
Options =
UserName = scott
Password = tiger
ReadOnly = yes
Here is a description of important parameters: DebugFile
The DebugFile parameter controls UDBC tracing. Users must remove the semicolon from DebugFile, if they want to instantiate tracing. They must also pass the full path to a file to which DebugFile may write output. Users must place a semicolon in front of DebugFile to stop debug output. Communications The Communications section contains
Troubleshooting
How Do I Interpret Udbc ini Files?
Here are the operative portions of a udbc.ini file:
[UDBC]
;DebugFile= /tmp/udbc.out
[Communications]
ReceiveTimeout = 120
BrokerTimeout = 30;
RetryTimeout = 5
SendSize= 4096
ReceiveSize = 16000
ShowErrors= Y
DataEncryption = N
[dsn_oracle]
Description = Sample Oracle DSN
Host = 192.62.13.144
ServerType = Oracle 8.1.x
FetchBufferSize = 60
Database = ORCL
ServerOptions =
ConnectOptions =
Options =
UserName = scott
Password = tiger
ReadOnly = yes
Here is a description of important parameters: DebugFile
The DebugFile parameter controls UDBC tracing. Users must remove the semicolon from DebugFile, if they want to instantiate tracing. They must also pass the full path to a file to which DebugFile may write output. Users must place a semicolon in front of DebugFile to stop debug output. Communications The Communications section contains
Troubleshooting
How Do I Troubleshoot A Failed ODBC-JDBC Bridge Connection?
1. Ensure that the JDBC connection URL connects to the target database.
2. Ensure that OpenLink's Single-Tier client components or Multi-Tier server components are installed on the machine that contains the JDBC connection URL.
3. Multi-Tier users ensure that oplrqb and a JDBC Bridge Agent (jdbc13_mv, jdbc14_mv, etc.) appear in the /bin sub-directory of the OpenLink server components installation.
4. Multi-Tier users ensure that oplrqb and the JDBC Bridge Agent (jdbc13_mv, jdbc14_mv, etc.) return version and usage information. For example:
> jdbc14_mv -?
JDBC Database Agent (JDK 1.4)(multi threaded)
Version 1.2 as of Thu Sep 04 2003 (Release 5.1 cvsid 00068).
Compiled for Linux 2.2.25 (i686-pc-linux-glibc2.1)
Copyright (C) OpenLink Software
5. Ensure that you pass the exact JDBC driver name string and JDBC connection URL in your OpenLink Data Sources. You can test the driver name string with the java command. It should return version and release information. For example:
> java openlink.jdbc3.Driver
OpenLink Generic Driver for JDBC(TM) 3.0 Version 04.19 (Release 5.1)
6. Multi-Tier users ensure that JDBC 1.1, JDBC 1.2, JDBC 1.3, or JDBC 1.4 appears in the Domain or Server Type field of the Multi-Tier Data Source Name. (Case and spacing matter!)
7. Unix Single-Tier users ensure that JDBC 1.1, JDBC 1.2, JDBC 1.3, or JDBC 1.4 appears in the Existing Environment field of the Single-Tier Data Source Name. (Case and spacing matter!)
If the problem persists, complete a troubleshooting worksheet. Post the results into an online support case.
Troubleshooting
How Do I Troubleshoot A Failed ODBC-JDBC Bridge Connection?
1. Ensure that the JDBC connection URL connects to the target database.
2. Ensure that OpenLink's Single-Tier client components or Multi-Tier server components are installed on the machine that contains the JDBC connection URL.
3. Multi-Tier users ensure that oplrqb and a JDBC Bridge Agent (jdbc13_mv, jdbc14_mv, etc.) appear in the /bin sub-directory of the OpenLink server components installation.
4. Multi-Tier users ensure that oplrqb and the JDBC Bridge Agent (jdbc13_mv, jdbc14_mv, etc.) return version and usage information. For example:
> jdbc14_mv -?
JDBC Database Agent (JDK 1.4)(multi threaded)
Version 1.2 as of Thu Sep 04 2003 (Release 5.1 cvsid 00068).
Compiled for Linux 2.2.25 (i686-pc-linux-glibc2.1)
Copyright (C) OpenLink Software
5. Ensure that you pass the exact JDBC driver name string and JDBC connection URL in your OpenLink Data Sources. You can test the driver name string with the java command. It should return version and release information. For example:
> java openlink.jdbc3.Driver
OpenLink Generic Driver for JDBC(TM) 3.0 Version 04.19 (Release 5.1)
6. Multi-Tier users ensure that JDBC 1.1, JDBC 1.2, JDBC 1.3, or JDBC 1.4 appears in the Domain or Server Type field of the Multi-Tier Data Source Name. (Case and spacing matter!)
7. Unix Single-Tier users ensure that JDBC 1.1, JDBC 1.2, JDBC 1.3, or JDBC 1.4 appears in the Existing Environment field of the Single-Tier Data Source Name. (Case and spacing matter!)
If the problem persists, complete a troubleshooting worksheet. Post the results into an online support case.
Troubleshooting
How Do I Troubleshoot A Failed JDBC-ODBC Bridge Connection?
1. Ensure that the ODBC Data Source Name connects to the target database.
2. Ensure that Windows-based ODBC Data Sources are System Data Sources.
3. Ensure that OpenLink's Single-Tier driver is installed on the machine that contains the ODBC Data Source Name.
4. Ensure that you pass the exact name of the ODBC Data Source in the JDBC connection URL.
5. Ensure that your Single-Tier JDBC connection URL uses the following syntax:
jdbc:openlink://ODBC[/DSN][/UID][/PWD][/READONLY]
For example:
jdbc:openlink://ODBC/DSN=Local Oracle ODBC/UID=scott/PWD=tiger
Troubleshooting
How Do I Troubleshoot A Failed JDBC-ODBC Bridge Connection?
1. Ensure that the ODBC Data Source Name connects to the target database.
2. Ensure that Windows-based ODBC Data Sources are System Data Sources.
3. Ensure that OpenLink's Single-Tier driver is installed on the machine that contains the ODBC Data Source Name.
4. Ensure that you pass the exact name of the ODBC Data Source in the JDBC connection URL.
5. Ensure that your Single-Tier JDBC connection URL uses the following syntax:
jdbc:openlink://ODBC[/DSN][/UID][/PWD][/READONLY]
For example:
jdbc:openlink://ODBC/DSN=Local Oracle ODBC/UID=scott/PWD=tiger
Troubleshooting
How Do Users Start The Multi-Tier Request Broker?
Windows users should take the following action:
1. Login to the machine, which contains the OpenLink server components.
2. Open the Services utility. (Control Panel)
3. Locate the OpenLink Request Broker service.
4. Highlight the service.
5. Click the Start icon.
Unix users should take the following action:
1. Login to the machine, which contains the OpenLink server components.
2. cd into the root of the OpenLink installation.
3. Execute openlink.sh (Bourne/Bash shell) or openlink.csh (C shell).
4. cd into the /bin sub-directory of the installation.
5. Execute the following command: oplrqb
New Unix users may want to start the Request Broker with oplrqb +loglevel 7 +logfile oplrqb.log. This instantiates logging and will elucidate problems that may occur.
Troubleshooting
How Do Users Start The Multi-Tier Request Broker?
Windows users should take the following action:
1. Login to the machine, which contains the OpenLink server components.
2. Open the Services utility. (Control Panel)
3. Locate the OpenLink Request Broker service.
4. Highlight the service.
5. Click the Start icon.
Unix users should take the following action:
1. Login to the machine, which contains the OpenLink server components.
2. cd into the root of the OpenLink installation.
3. Execute openlink.sh (Bourne/Bash shell) or openlink.csh (C shell).
4. cd into the /bin sub-directory of the installation.
5. Execute the following command: oplrqb
New Unix users may want to start the Request Broker with oplrqb +loglevel 7 +logfile oplrqb.log. This instantiates logging and will elucidate problems that may occur.
Troubleshooting
How can I determine which ports the Multi-Tier Request Broker uses?
The Request Broker port appears in the Session Rules Book. This is the oplrqb.ini file that appears in the /bin sub-directory of the user's server components installation. Users need to open this file with a text editor and locate the following section:
[Protocol TCP]
PingWatchdog = No
PingInterval = 600
Listen = 5000
PortLow = 5000
PortHigh = 5099
IPAddress = 127.0.0.1
OpenLink's 4.x and 5.x Brokers listen on the port passed by the Listen parameter. OpenLink's 1.x and 3.x Brokers listen on the initial port as specified by the PortLow parameter.
Troubleshooting
How can I determine which ports the Multi-Tier Request Broker uses?
The Request Broker port appears in the Session Rules Book. This is the oplrqb.ini file that appears in the /bin sub-directory of the user's server components installation. Users need to open this file with a text editor and locate the following section:
[Protocol TCP]
PingWatchdog = No
PingInterval = 600
Listen = 5000
PortLow = 5000
PortHigh = 5099
IPAddress = 127.0.0.1
OpenLink's 4.x and 5.x Brokers listen on the port passed by the Listen parameter. OpenLink's 1.x and 3.x Brokers listen on the initial port as specified by the PortLow parameter.
Troubleshooting
How can I prevent stability problems?
Use the following guidelines to prevent stability problems:
1. Patch databases and operating systems regularly.
2. Contact database and o/s vendors to see if patches are associated with problems.
3. Ensure Unix kernel tuning parameters match parameters specified by database and o/s documentation.
4. Ensure your machine has adequate memory and processor resources.
5. Comparison test Multi-Tier drivers when Single-Tier drivers appear to expose limitations in a database native client.
6. Re-link Multi-Tier database agents against databases, especially patched databases.
7. Ensure PortHigh is set in the [Protocol TCP] section of the Multi-Tier Session Rules Book. This is the oplrqb.ini file that resides in the /bin sub-directory of the server components installation.
Multi-Tier users perform the following test:
1. login to the machine that contains the OpenLink server components.
2. Run oplshut -s on the command-line.
3. Compare the output to the Windows (Task Manager) or Unix (ps -ef.)
4. Upgrade server components if oplshut shows fewer processes when compared to the Task Manager or ps.
Multi-Tier users experiment with database agent reuse. Users should comparison test the following values:
-- ifsame process, upto 5
-- ifsame application, upto 5
-- ifsame database, upto 5
Troubleshooting
How can I prevent stability problems?
Use the following guidelines to prevent stability problems:
1. Patch databases and operating systems regularly.
2. Contact database and o/s vendors to see if patches are associated with problems.
3. Ensure Unix kernel tuning parameters match parameters specified by database and o/s documentation.
4. Ensure your machine has adequate memory and processor resources.
5. Comparison test Multi-Tier drivers when Single-Tier drivers appear to expose limitations in a database native client.
6. Re-link Multi-Tier database agents against databases, especially patched databases.
7. Ensure PortHigh is set in the [Protocol TCP] section of the Multi-Tier Session Rules Book. This is the oplrqb.ini file that resides in the /bin sub-directory of the server components installation.
Multi-Tier users perform the following test:
1. login to the machine that contains the OpenLink server components.
2. Run oplshut -s on the command-line.
3. Compare the output to the Windows (Task Manager) or Unix (ps -ef.)
4. Upgrade server components if oplshut shows fewer processes when compared to the Task Manager or ps.
Multi-Tier users experiment with database agent reuse. Users should comparison test the following values:
-- ifsame process, upto 5
-- ifsame application, upto 5
-- ifsame database, upto 5
Troubleshooting
How can I tell what version I have?
Users may employ a variety of methods to obtain their product version information. Windows and Mac Single-Tier users should open their ODBC Administrator. The Single-Tier driver version appears on the Drivers tab of this Administrator. Users simple scroll through the Driver list box, locate their driver, and record the version string, which appears to the right of the driver name.
Troubleshooting
How do I interpret Database Native Error Logs?
OpenLink Product Support does not have extensive information pertaining to the interpretation of 3rd-party database error logs. Examine these logs for errors. Then, search OPIE and the database vendor knowledge-bases for additional information.
Troubleshooting
How do I interpret Operating System Patch Levels?
Use the following guidelines:
1. Ensure that users have applied all, current operating system patches.
2. Determine whether or not the DBMS requires a specific patch level.
3. Ascertain whether patches are associated with issues presented by the user.
4. Compare the user patch level to the OpenLink build server patch level. OpenLink's build servers may require patch updates, if they are behind user patch levels. Users may need patch updates, if they are behind OpenLink's patch level. Otherwise, discrepancies between the machines may contribute to compatibility and stability problems.
Troubleshooting
How do I interpret Operating System Patch Levels?
Use the following guidelines:
1. Ensure that users have applied all, current operating system patches.
2. Determine whether or not the DBMS requires a specific patch level.
3. Ascertain whether patches are associated with issues presented by the user.
4. Compare the user patch level to the OpenLink build server patch level. OpenLink's build servers may require patch updates, if they are behind user patch levels. Users may need patch updates, if they are behind OpenLink's patch level. Otherwise, discrepancies between the machines may contribute to compatibility and stability problems.
Troubleshooting
How do I troubleshoot a failed ODBC-ODBC Bridge connection?
1. Ensure that the non-OpenLink Data Source Name connects to the target database.
2. Ensure that OpenLink's Single-Tier client components or Multi-Tier server components are installed on the machine that contains the non-OpenLink Data Source Name.
3. Multi-Tier users ensure that oplrqb and odbc_mv appear in the /bin sub-directory of the OpenLink server components installation.
4. Ensure that all Windows-based Data Source Names are System Data Source Names.
5. Ensure that you pass the exact name of the non-OpenLink Data Source to the OpenLink Data Source. Multi-Tier users pass this name in the Database field of their OpenLink Data Sources.
6. Multi-Tier users ensure that "Odbc" appears in the Domain or Server Type field of the Multi-Tier Data Source Name. (Case matters!)
If the problem persists, complete a troubleshooting worksheet. Post the results into an online support case.
Troubleshooting
How do I troubleshoot a failed ODBC-ODBC Bridge connection?
1. Ensure that the non-OpenLink Data Source Name connects to the target database.
2. Ensure that OpenLink's Single-Tier client components or Multi-Tier server components are installed on the machine that contains the non-OpenLink Data Source Name.
3. Multi-Tier users ensure that oplrqb and odbc_mv appear in the /bin sub-directory of the OpenLink server components installation.
4. Ensure that all Windows-based Data Source Names are System Data Source Names.
5. Ensure that you pass the exact name of the non-OpenLink Data Source to the OpenLink Data Source. Multi-Tier users pass this name in the Database field of their OpenLink Data Sources.
6. Multi-Tier users ensure that "Odbc" appears in the Domain or Server Type field of the Multi-Tier Data Source Name. (Case matters!)
If the problem persists, complete a troubleshooting worksheet. Post the results into an online support case.
Troubleshooting
I Suspect That My User Is Experiencing Port Or Networking Problems. What Do I Do?
Port and networking problems arise in a variety of contexts. Choose the context that corresponds to your user:
1. Do firewall restrictions prevent a user from download OpenLink software?
Test both HTTP and FTP links.
Provide a DAV link to the file.
Attempt to FTP the file to a user site.
Attempt to email components to the user.
Provide files to user via CD. (Requires Manager Approval.)
2. Do networking problems prevent transfer of an OpenLink download to the target machine?
Urge the user to seek assistance from the on-site network administrator.
Tell the user to transfer the file(s) via CD or disk.
3. Do port problems prevent Multi-tier users from starting their Request Brokers?
Login to the machine that contains the Multi-tier server components.
Use a text editor to open the oplrqb.ini file that resides in the /bin sub-directory of the OpenLink installation.
Locate the [Protocol TCP] section.
Locate the Listen parameter. (1.x and 3.x users locate PortLow.)
Close oplrqb.ini.
Run netstat -a.
If Listen or PortLow is occupied, assign a new port in oplrqb.ini.
If Listen or PortLow is not occupied, this may not be a port problem.
4. Do users not know what ports to pass in OpenLink data source names? Inform users that the only OpenLink-specific ports appear in the [Protocol TCP] section of the server component's ~/openlink/bin/oplrqb.ini file. Any other port would be gleaned from database-related configuration files or utilities.
5. Do firewalls prevent Multi-Tier clients from contacting Multi-Tier Request Brokers?
Login to the machine that contains the Multi-Tier server components.
Use a text editor to open the oplrqb.ini file that resides in the /bin sub-directory of the OpenLink installation.
Locate the [Protocol TCP] section. For example:
[Protocol TCP]
PingWatchdog = No
PingInterval = 600
;IPAddress = 127.0.0.1
PortLow = 5000
PortHigh = 5020
Make sure PortHigh is uncommented and set. PortHigh should equal PortLow + the number of concurrent connections granted by the license + a few extra ports.
Record the PortLow-PortHigh range.
Record the Listen port value. (OpenLink 1.x and 3.x do not have Listen.)
Close oplrqb.ini.
Open the Listen and PortLow-PortHigh TCP ports on the firewall.
Open UDP port #60001--in addition to TCP PortLow-PortHigh--to accommodate 1.x and 3.x drivers.
6. Do Multi-Tier port settings restrict the number of concurrent connections?
Login to the machine that contains the Multi-Tier server components.
Use a text editor to open the oplrqb.ini file that resides in the /bin sub-directory of the OpenLink installation.
Locate the [Protocol TCP] section. For example:
[Protocol TCP]
PingWatchdog = No
PingInterval = 600
;IPAddress = 127.0.0.1
PortLow = 5000
PortHigh = 5020
Make sure PortHigh is uncommented and set. PortHigh should equal PortLow + the number of concurrent connections granted by the license + a few extra ports.
Save changes and exit the file.
Restart or reinitialize the Request Broker and test.
Troubleshooting
I Suspect That My User Is Experiencing Port Or Networking Problems. What Do I Do?
Port and networking problems arise in a variety of contexts. Choose the context that corresponds to your user:
1. Do firewall restrictions prevent a user from download OpenLink software?
Test both HTTP and FTP links.
Provide a DAV link to the file.
Attempt to FTP the file to a user site.
Attempt to email components to the user.
Provide files to user via CD. (Requires Manager Approval.)
2. Do networking problems prevent transfer of an OpenLink download to the target machine?
Urge the user to seek assistance from the on-site network administrator.
Tell the user to transfer the file(s) via CD or disk.
3. Do port problems prevent Multi-tier users from starting their Request Brokers?
Login to the machine that contains the Multi-tier server components.
Use a text editor to open the oplrqb.ini file that resides in the /bin sub-directory of the OpenLink installation.
Locate the [Protocol TCP] section.
Locate the Listen parameter. (1.x and 3.x users locate PortLow.)
Close oplrqb.ini.
Run netstat -a.
If Listen or PortLow is occupied, assign a new port in oplrqb.ini.
If Listen or PortLow is not occupied, this may not be a port problem.
4. Do users not know what ports to pass in OpenLink data source names? Inform users that the only OpenLink-specific ports appear in the [Protocol TCP] section of the server component's ~/openlink/bin/oplrqb.ini file. Any other port would be gleaned from database-related configuration files or utilities.
5. Do firewalls prevent Multi-Tier clients from contacting Multi-Tier Request Brokers?
Login to the machine that contains the Multi-Tier server components.
Use a text editor to open the oplrqb.ini file that resides in the /bin sub-directory of the OpenLink installation.
Locate the [Protocol TCP] section. For example:
[Protocol TCP]
PingWatchdog = No
PingInterval = 600
;IPAddress = 127.0.0.1
PortLow = 5000
PortHigh = 5020
Make sure PortHigh is uncommented and set. PortHigh should equal PortLow + the number of concurrent connections granted by the license + a few extra ports.
Record the PortLow-PortHigh range.
Record the Listen port value. (OpenLink 1.x and 3.x do not have Listen.)
Close oplrqb.ini.
Open the Listen and PortLow-PortHigh TCP ports on the firewall.
Open UDP port #60001--in addition to TCP PortLow-PortHigh--to accommodate 1.x and 3.x drivers.
6. Do Multi-Tier port settings restrict the number of concurrent connections?
Login to the machine that contains the Multi-Tier server components.
Use a text editor to open the oplrqb.ini file that resides in the /bin sub-directory of the OpenLink installation.
Locate the [Protocol TCP] section. For example:
[Protocol TCP]
PingWatchdog = No
PingInterval = 600
;IPAddress = 127.0.0.1
PortLow = 5000
PortHigh = 5020
Make sure PortHigh is uncommented and set. PortHigh should equal PortLow + the number of concurrent connections granted by the license + a few extra ports.
Save changes and exit the file.
Restart or reinitialize the Request Broker and test.
Troubleshooting
I cant set my OpenLink variables. What do I do?
If a Unix user cannot set their environment variables with openlink.sh or openlink.csh, please type sh or cshat the command line. This should allow you to run openlink.sh or openlink.csh respectively.
If the problem persists, a manual setting will need to be completed. Users should edit openlink.sh or openlink.csh with a text file editor. Please take care when editing this file as the variables contained within this file might affect the way the OpenLink installation works. Take note of the variables within the file, close it and set the variables on the command line.
Troubleshooting
I cant set my OpenLink variables. What do I do?
If a Unix user cannot set their environment variables with openlink.sh or openlink.csh, please type sh or cshat the command line. This should allow you to run openlink.sh or openlink.csh respectively.
If the problem persists, a manual setting will need to be completed. Users should edit openlink.sh or openlink.csh with a text file editor. Please take care when editing this file as the variables contained within this file might affect the way the OpenLink installation works. Take note of the variables within the file, close it and set the variables on the command line.
Troubleshooting
I cant shutdown my Admin Assistant. What do I do?
The Multi-Tier Administrative Assistant is a service. It is powered by the www_sv agent that appears in the /bin/w3config sub-directory of Multi-Tier server components installations. Unlike the Request Broker, the Administrative Assistant does not require manual shutdown. Instead, the Request Broker kills the agent during its own shutdown routine.
Troubleshooting
I cant shutdown my Request Broker. What do I do?
Take the following actions, if you cannot shutdown your Request Broker: Login to the machine that contains your Multi-Tier server components installation. Use a text editor to open the oplrqb.ini file that appears in the /bin sub-directory of the OpenLink installation and so on ..
Troubleshooting
I cant start my Admin Assistant. What do I do?
The Multi-Tier Administrative Assistant is a service. It is powered by the www_sv agent that appears in the /bin/w3config sub-directory of Multi-Tier server components installations. Unlike the Request Broker, the Administrative Assistant does not require manual startup. Instead, the Request Broker spawns the agent during its own startup routine.
Troubleshooting
I cant start my Request Broker. What do I do?
OpenLink's Request Brokers are listening services. OpenLink's 4.x and newer Brokers listen on the TCP port that is passed to the Listen parameter. The Listen parameter appears in the Protocol TCP section of the Session Rules Book. OpenLink's 3.x and 1.x Brokers listen on PortLow. PortLow appears in the Protocol TCP section of the Session Rules Book. OpenLink's Request Brokers also use UDP port 60001 to broadcast license information.
Troubleshooting
I think I have OpenLink Software. How can I tell?
It is possible your machine might contain a copy of the OpenLink Software Universal Data Access drivers or you might require one or more additional components -e.g., clients or agents-to match pre-existing software.
Troubleshooting
My 1x 3x JDBC Type 3 Connections Spawn Multiple Agents That Consume My Licenses. What Do I Do?
This is expected behavior. OpenLink's 1.x and 3.x Multi-Tier connections spawn a JDBC-specific agent that spawns a database-specific agent. Hence, one JDBC connection results in two concurrent connections. OpenLink's latest drivers do not spawn both a JDBC agent and a database agent. OpenLink's new database agents are equipped to handle JDBC connections in their entirety.
Troubleshooting
My Request Broker shuts itself down. What do I do?
Users may experience intermittent Request Broker shutdowns. This problem stems from the use of one license on multiple machines, and it produces "Duplicate Serial Number" errors. Users who encounter this problem must request an additional temporary or permanent license keys from their account manager or shut down a request broker to resolve this problem.
Troubleshooting
Trouble-shooting registering a product with a temporary or commercial license?
Use the following guidelines to troubleshoot licensing problems:
1. Ensure that the Windows Single-Tier license is placed in your Lite32 sub-directories.
2. If on Unix, ensure that the Single-Tier license is placed in the b/in sub-directory of the OpenLink installation. Alternatively, users may pass the full path to licenses to OPL_LICENSE_DIR. This variable may be set using the command line, openlink.sh, openlink.csh, or your .profile.
3. Multi-Tier users ensure the licence is placed in the bin/ sub-directory of the server component installation.
4. Ensure that ftp transfers are conducted in binary. OpenLink's .lic licenses are binary-format files.
5. Windows Single-Tier users should uninstall their software, remove all references to Single-Tier software from the registry, and reinstall, if licensing problems persist. Occasionally, Windows Single-Tier users experience registry corruption, which necessitates the registry wipe and reinstall.
OpenLink consultants have other utilities that may help debugging if you suspect a license-file is corrupt.
The license version must match the Single-Tier driver version or the Multi-Tier request broker and agent version. Operating System Licenses must be generated for the appropriate operating system. CPU's The number of CPUs cited in the license must match the number of CPUs present in the machine. Access Mechanism Licenses may restrict ODBC or JDBC data access. Other licenses permit both ODBC and JDBC access. Database Licenses must list each of the databases to which the user intends to connect. Applications Certain licenses are limited for use with one application.
OpenLink's 1.x and 3.x ship with a license text file. Consultants may open this license with Notepad or a similar text editor. The file should contain the same parameters listed above.
Troubleshooting
Trouble-shooting registering a product with a temporary or commercial license?
Use the following guidelines to troubleshoot licensing problems:
1. Ensure that the Windows Single-Tier license is placed in your Lite32 sub-directories.
2. If on Unix, ensure that the Single-Tier license is placed in the b/in sub-directory of the OpenLink installation. Alternatively, users may pass the full path to licenses to OPL_LICENSE_DIR. This variable may be set using the command line, openlink.sh, openlink.csh, or your .profile.
3. Multi-Tier users ensure the licence is placed in the bin/ sub-directory of the server component installation.
4. Ensure that ftp transfers are conducted in binary. OpenLink's .lic licenses are binary-format files.
5. Windows Single-Tier users should uninstall their software, remove all references to Single-Tier software from the registry, and reinstall, if licensing problems persist. Occasionally, Windows Single-Tier users experience registry corruption, which necessitates the registry wipe and reinstall.
OpenLink consultants have other utilities that may help debugging if you suspect a license-file is corrupt.
The license version must match the Single-Tier driver version or the Multi-Tier request broker and agent version. Operating System Licenses must be generated for the appropriate operating system. CPU's The number of CPUs cited in the license must match the number of CPUs present in the machine. Access Mechanism Licenses may restrict ODBC or JDBC data access. Other licenses permit both ODBC and JDBC access. Database Licenses must list each of the databases to which the user intends to connect. Applications Certain licenses are limited for use with one application.
OpenLink's 1.x and 3.x ship with a license text file. Consultants may open this license with Notepad or a similar text editor. The file should contain the same parameters listed above.
Troubleshooting
What Component Naming Conventions is Used?
OpenLink's client drivers are library files. Consequently, Windows Multi-Tier drivers begin with olod (OpenLink ODBC Driver) and end with a .dll extension. Unix Multi-Tier drivers are named oplodbc (OpenLink ODBC) and end with a .la, .sl, or .so extension. OpenLink's Single-Tier drivers have a variety of names that are too numerous to list. Windows drivers continue to end with .dll, and Unix drivers continue to end with .la, .sl, and .so. However, the similarities end there. The actual Windows Single-Tier driver name begin with `ntl' (WinNT Lite) and end with a series of numbers and letters that denote the driver version and intended database. The actual Unix Single-Tier driver name begins with some combination of letters that represents the intended database, and it ends with _mt_lt (Multi-Threaded Lite) , _mt_lu (Multi-Threaded Lite Unicode), _st_lt (Single-Threaded Lite), _st_lu(Single-Threaded Lite Unicode). OpenLink's Unix-based iODBC Driver Manager is named libiodbc and ends with a .la, .sl, or .so extension. OpenLink's Multi-Tier Request Broker is named oplrqb. OpenLink's Multi-Tier Database Agents begin with a three or four character name that designate the intended database, and they end with a .sv (Single-Threaded version) or .mv (Multi-Threaded version) extension.
Troubleshooting
What Do I Do If My Applications Fail To Connect After I Upgraded My 1x3x Drivers To 4x5x?
OpenLink's 1.x and 3.x Multi-Tier drivers use different JDBC connection mechanisms. The older drivers route the request through a JDBC-specific agent that speaks to a database-specific agent. Here is the sequence of events needed to perform this task:
1. User creates a JDBC connection URL. For example: jdbc:openlink://localhost:5000/SVT=Ingres II/DATABASE=iidbdb/UID=ingres/PWD=ingres/JDBCAGENT=jodbc
2. The Broker associates all JDBC connection attempts with one of the JDBC Domains that appear in the [Domain] section of the Session Rules Book (oplrqb.ini). For example:
[Domain Aliases]
jodbc = jodbc
judbc = judbc
jdbc = jdbc
3. The Broker uses the Domain Alias to resolve the connection using one of the JDBC Mapping Rules from the [Mapping Rules] section of oplrqb.ini. For example:
[Mapping Rules]
jodbc:*:*:java:*:*:* = accept jodbc_client
judbc:*:*:java:*:*:* = accept judbc_client
jdbc:*:*:java:*:*:* = accept jdbc_client
*:*:*:java:*:*:* = accept judbc_client
4. The Mapping Rules associate the connection attempt with a JDBC agent configuration section. For example:
[jodbc_client]
Program = jodbc_sv.exe
CommandLine = ;+debug
ReUse = never
5. The agent configuration section controls which JDBC agent is spawned to service the connection. In the above instance, jodbc_sv.exe is spawned.
The JDBC agent spawns the database agent that corresponds to the SVT parameter of the JDBC connection URL. The following sections of the Rules Book shows how SVT=Ingres II causes the JDBC agent to spawn the oig2_sv database agent:
Domain Aliases]
Ingres II = oig2
[Mapping Rules]
oig2:*:*:*:*:*:* = reject The Ingres II Database Agent is not configured
[generic_oig2]
Program = oig2_sv.exe
Environment = INGRES_II
OpsysLogin = Yes
ReUse = never
OpenLink's newest drivers omit the need for a distinct JDBC agent. JDBC-specific Domains, Mapping Rules, Agent Configuration Sections, and agents are omitted from the connection resolution. Instead, the Broker resolves the JDBC connection URL using only the SVT parameter. The database agent that is spawned is now able to handle both ODBC and JDBC connections Users may prevent most problems by removing JDBCAGENT= from their JDBC connection URLs. If problems persist, advanced users may resolve most problems by editing the Session Rules Book. New users are encouraged to contact OpenLink Product Support. Some 1.x and 3.x users create hybrid connections that pass an ODBC DSN in a Type 3 JDBC URL. For example:
jdbc:openlink://localhost:5000/DSN=My Ingres Data Source/UID=ingres/PWD=ingres
This connection format is no longer supported.
Troubleshooting
What Do I Do If My Applications Fail To Connect After I Upgraded My 1x3x Drivers To 4x5x?
OpenLink's 1.x and 3.x Multi-Tier drivers use different JDBC connection mechanisms. The older drivers route the request through a JDBC-specific agent that speaks to a database-specific agent. Here is the sequence of events needed to perform this task:
1. User creates a JDBC connection URL. For example: jdbc:openlink://localhost:5000/SVT=Ingres II/DATABASE=iidbdb/UID=ingres/PWD=ingres/JDBCAGENT=jodbc
2. The Broker associates all JDBC connection attempts with one of the JDBC Domains that appear in the [Domain] section of the Session Rules Book (oplrqb.ini). For example:
[Domain Aliases]
jodbc = jodbc
judbc = judbc
jdbc = jdbc
3. The Broker uses the Domain Alias to resolve the connection using one of the JDBC Mapping Rules from the [Mapping Rules] section of oplrqb.ini. For example:
[Mapping Rules]
jodbc:*:*:java:*:*:* = accept jodbc_client
judbc:*:*:java:*:*:* = accept judbc_client
jdbc:*:*:java:*:*:* = accept jdbc_client
*:*:*:java:*:*:* = accept judbc_client
4. The Mapping Rules associate the connection attempt with a JDBC agent configuration section. For example:
[jodbc_client]
Program = jodbc_sv.exe
CommandLine = ;+debug
ReUse = never
5. The agent configuration section controls which JDBC agent is spawned to service the connection. In the above instance, jodbc_sv.exe is spawned.
The JDBC agent spawns the database agent that corresponds to the SVT parameter of the JDBC connection URL. The following sections of the Rules Book shows how SVT=Ingres II causes the JDBC agent to spawn the oig2_sv database agent:
Domain Aliases]
Ingres II = oig2
[Mapping Rules]
oig2:*:*:*:*:*:* = reject The Ingres II Database Agent is not configured
[generic_oig2]
Program = oig2_sv.exe
Environment = INGRES_II
OpsysLogin = Yes
ReUse = never
OpenLink's newest drivers omit the need for a distinct JDBC agent. JDBC-specific Domains, Mapping Rules, Agent Configuration Sections, and agents are omitted from the connection resolution. Instead, the Broker resolves the JDBC connection URL using only the SVT parameter. The database agent that is spawned is now able to handle both ODBC and JDBC connections Users may prevent most problems by removing JDBCAGENT= from their JDBC connection URLs. If problems persist, advanced users may resolve most problems by editing the Session Rules Book. New users are encouraged to contact OpenLink Product Support. Some 1.x and 3.x users create hybrid connections that pass an ODBC DSN in a Type 3 JDBC URL. For example:
jdbc:openlink://localhost:5000/DSN=My Ingres Data Source/UID=ingres/PWD=ingres
This connection format is no longer supported.
Troubleshooting
What Do I Do If My Broker Shuts Down Intermittently?
Most intermittent shutdowns share a common origin. Users have copied a single license to one or more machines on a network. Users can not do this. Instead, users must obtain individual licenses for each Multi-Tier server component installation. If the problem persists, apply standard stability troubleshooting guidelines.
1. Patch databases and operating systems, as appropriate.
2. Contact database and o/s vendors to see if patches are associated with problems.
3. Ensure Unix kernel tuning parameters match parameters specified by database and o/s documentation.
4. Ensure your machine has adequate memory and processor resources.
5. Ensure PortHigh is set in the [Protocol TCP] section of the Multi-Tier Session Rules Book. This is the oplrqb.ini file that resides in the /bin sub-directory of the server components installation.
6. Multi-Tier users perform the following test:
-- login to the machine that contains the OpenLink server components.
-- Run oplshut -s on the command-line.
-- Compare the output to the Windows Task Manager or Unix ps -ef.
-- Upgrade server components if oplshut shows fewer processes when compared to the Task Manager or ps.
7. Multi-Tier users experiment with database agent reuse. Users should comparison test the following values:
-- ifsame process, upto 5
-- ifsame application, upto 5
-- ifsame database, upto 5
Troubleshooting
What Do I Do If My Broker Shuts Down Intermittently?
Most intermittent shutdowns share a common origin. Users have copied a single license to one or more machines on a network. Users can not do this. Instead, users must obtain individual licenses for each Multi-Tier server component installation. If the problem persists, apply standard stability troubleshooting guidelines.
1. Patch databases and operating systems, as appropriate.
2. Contact database and o/s vendors to see if patches are associated with problems.
3. Ensure Unix kernel tuning parameters match parameters specified by database and o/s documentation.
4. Ensure your machine has adequate memory and processor resources.
5. Ensure PortHigh is set in the [Protocol TCP] section of the Multi-Tier Session Rules Book. This is the oplrqb.ini file that resides in the /bin sub-directory of the server components installation.
6. Multi-Tier users perform the following test:
-- login to the machine that contains the OpenLink server components.
-- Run oplshut -s on the command-line.
-- Compare the output to the Windows Task Manager or Unix ps -ef.
-- Upgrade server components if oplshut shows fewer processes when compared to the Task Manager or ps.
7. Multi-Tier users experiment with database agent reuse. Users should comparison test the following values:
-- ifsame process, upto 5
-- ifsame application, upto 5
-- ifsame database, upto 5
Troubleshooting
What Do I Do If My Drivers Produce Intermittent Core Dumps?
No product should produce a core dump. Core dumps warrant the creation of a bug report. (Update existing bug reports, as appropriate.) Product Support Staff should attach the core file to the report. Moreover, staff must gather the following information from users:
1. Does the database and operating system contain all current patches?
2. Are the patches associated with stability problems?
3. Do Unix kernel tuning parameters match parameters specified by database and o/s documentation?
4. Does the machine have adequate memory and processor resources?
5. Was the database agent re-linked against the database?
6. Is PortHigh set in the [Protocol TCP] section of the Multi-Tier Session Rules Book? This is the oplrqb.ini file that resides in the /bin sub-directory of the server components installation.
7. What happens when users comparison test the following ReUse values:
-- ifsame process, upto 5
-- ifsame application, upto 5
-- ifsame database, upto 5
8. Finally, Multi-Tier users should perform the following test:
-- login to the machine that contains the OpenLink server components.
-- Run oplshut -s on the command-line.
-- Compare the output to the Windows Task Manager or Unix ps -ef.
-- Upgrade server components if oplshut shows fewer processes when compared to the Task Manager or ps.
Troubleshooting
What Do I Do If My Drivers Produce Intermittent Core Dumps?
No product should produce a core dump. Core dumps warrant the creation of a bug report. (Update existing bug reports, as appropriate.) Product Support Staff should attach the core file to the report. Moreover, staff must gather the following information from users:
1. Does the database and operating system contain all current patches?
2. Are the patches associated with stability problems?
3. Do Unix kernel tuning parameters match parameters specified by database and o/s documentation?
4. Does the machine have adequate memory and processor resources?
5. Was the database agent re-linked against the database?
6. Is PortHigh set in the [Protocol TCP] section of the Multi-Tier Session Rules Book? This is the oplrqb.ini file that resides in the /bin sub-directory of the server components installation.
7. What happens when users comparison test the following ReUse values:
-- ifsame process, upto 5
-- ifsame application, upto 5
-- ifsame database, upto 5
8. Finally, Multi-Tier users should perform the following test:
-- login to the machine that contains the OpenLink server components.
-- Run oplshut -s on the command-line.
-- Compare the output to the Windows Task Manager or Unix ps -ef.
-- Upgrade server components if oplshut shows fewer processes when compared to the Task Manager or ps.
Troubleshooting
What Do I Do If My Drivers Occasionally Fail To Disconnect?
Both Multi-Tier and Single-Tier drivers users take the following action. Multi-Tier users see additional comments below.
1. Use your database native transaction monitor to see if OpenLink drivers are locked in pending transactions. OpenLink drivers cannot disconnect from a database while they are still engaged in transactions.
2. Ensure that your application does not enforce manual commits. Use of manual commit may encourage the behavior described above.
3. Check the database native error logs for failures that may contribute to this problem.
4. Create a client-side ODBC trace. Examine the trace to ensure that the application sends the proper sequence of SQLFree()s and SQLDisconnect()s to the driver.
5. Ensure OpenLink's Progress drivers connect to Progress databases in sockets mode. A Progress shared memory library bug causes failure to disconnect.
6. Contact OpenLink Product Support, if you use Progress 91C or 91D. OpenLink is working to resolve occurrences of lingering agents that are not associated with the shared memory bug.
Multi-Tier users perform the following, additional test:
1. Recreate the problem.
2. Run oplshut -s on a command line.
3. Observe the number of OpenLink database agent processes.
4. Compare the output of oplshut -s with a Unix ps -ef or Windows Task Manager.
5. Upgrade if oplshut -s or the Windows Task Manager shows more agent processes.
Troubleshooting
What Do I Do If My Drivers Occasionally Fail To Disconnect?
Both Multi-Tier and Single-Tier drivers users take the following action. Multi-Tier users see additional comments below.
1. Use your database native transaction monitor to see if OpenLink drivers are locked in pending transactions. OpenLink drivers cannot disconnect from a database while they are still engaged in transactions.
2. Ensure that your application does not enforce manual commits. Use of manual commit may encourage the behavior described above.
3. Check the database native error logs for failures that may contribute to this problem.
4. Create a client-side ODBC trace. Examine the trace to ensure that the application sends the proper sequence of SQLFree()s and SQLDisconnect()s to the driver.
5. Ensure OpenLink's Progress drivers connect to Progress databases in sockets mode. A Progress shared memory library bug causes failure to disconnect.
6. Contact OpenLink Product Support, if you use Progress 91C or 91D. OpenLink is working to resolve occurrences of lingering agents that are not associated with the shared memory bug.
Multi-Tier users perform the following, additional test:
1. Recreate the problem.
2. Run oplshut -s on a command line.
3. Observe the number of OpenLink database agent processes.
4. Compare the output of oplshut -s with a Unix ps -ef or Windows Task Manager.
5. Upgrade if oplshut -s or the Windows Task Manager shows more agent processes.
Troubleshooting
What Do I Do If My Drivers Produce Intermittent Protrace Files?
No product should produce a Progress protrace file. Protrace files warrant the creation of a bug report. (Update existing bug reports, as appropriate.) Product Support Staff should attach the protrace file to the report. Moreover, staff must gather the following information from users and post it in the report:
1. Does the database and operating system contain all current patches?
2. Are the patches associated with stability problems?
3. Do Unix kernel tuning parameters match parameters specified by database and o/s documentation?
4. Does the machine have adequate memory and processor resources?
5. Was the database agent re-linked against the database?
6. Is PortHigh set in the [Protocol TCP] section of the Multi-Tier Session Rules Book? This is the oplrqb.ini file that resides in the /bin sub-directory of the server components installation.
7. What happens when users comparison test the following ReUse values:
-- ifsame process, upto 5
-- ifsame application, upto 5
-- ifsame database, upto 5
8. Finally, Multi-Tier users should perform the following test:
-- login to the machine that contains the OpenLink server components.
-- Run oplshut -s on the commandline.
-- Compare the output to the Windows Task Manager or Unix ps -ef.
-- Upgrade server components if oplshut shows fewer processes when compared to the Task Manager or ps.
Troubleshooting
What Do I Do If My Drivers Produce Intermittent Protrace Files?
No product should produce a Progress protrace file. Protrace files warrant the creation of a bug report. (Update existing bug reports, as appropriate.) Product Support Staff should attach the protrace file to the report. Moreover, staff must gather the following information from users and post it in the report:
1. Does the database and operating system contain all current patches?
2. Are the patches associated with stability problems?
3. Do Unix kernel tuning parameters match parameters specified by database and o/s documentation?
4. Does the machine have adequate memory and processor resources?
5. Was the database agent re-linked against the database?
6. Is PortHigh set in the [Protocol TCP] section of the Multi-Tier Session Rules Book? This is the oplrqb.ini file that resides in the /bin sub-directory of the server components installation.
7. What happens when users comparison test the following ReUse values:
-- ifsame process, upto 5
-- ifsame application, upto 5
-- ifsame database, upto 5
8. Finally, Multi-Tier users should perform the following test:
-- login to the machine that contains the OpenLink server components.
-- Run oplshut -s on the commandline.
-- Compare the output to the Windows Task Manager or Unix ps -ef.
-- Upgrade server components if oplshut shows fewer processes when compared to the Task Manager or ps.
Troubleshooting
What Do I Do If My JDBC Connections Fail?
Post the problem into an online support case -- http://support.openlinksw.com/support/online-support.vsp
Troubleshooting
What Do I Do If My Multi-Tier DSN Fails To Connect?
Post the problem into an online support case -- http://support.openlinksw.com/support/online-support.vsp
Troubleshooting
What Do I Do If My Multi-Tier DSN Fails To Disconnect?
1. Use your database native transaction monitor to see if OpenLink drivers are locked in pending transactions. OpenLink drivers cannot disconnect from a database while they are still engaged in transactions.
2. Ensure that your application does not enforce manual commits. Use of manual commit may encourage the behavior described above.
3. Check the database native error logs for failures that may contribute to this problem.
4. Create a client-side ODBC trace. Examine the trace to ensure that the application sends the proper sequence of SQLFree()s and SQLDisconnect()s to the driver.
5. Perform the following test:
-- Recreate the problem;
-- Run oplshut -s on a command line.
-- Observe the number of OpenLink database agent processes.
-- Compare the output of oplshut -s with a Unix ps -ef or Windows Task Manager.
-- Upgrade if oplshut -s or the Windows Task Manager shows more agent processes.
6. Connect to Progress databases in sockets mode. A Progress shared memory library bug causes OpenLink's database agents to linger.
7. Contact OpenLink Product Support, if you use Progress 91C or 91D. OpenLink is working to resolve occurrences of lingering agents that are not associated with the shared memory bug.
Troubleshooting
What Do I Do If My Multi-Tier DSN Fails To Disconnect?
1. Use your database native transaction monitor to see if OpenLink drivers are locked in pending transactions. OpenLink drivers cannot disconnect from a database while they are still engaged in transactions.
2. Ensure that your application does not enforce manual commits. Use of manual commit may encourage the behavior described above.
3. Check the database native error logs for failures that may contribute to this problem.
4. Create a client-side ODBC trace. Examine the trace to ensure that the application sends the proper sequence of SQLFree()s and SQLDisconnect()s to the driver.
5. Perform the following test:
-- Recreate the problem;
-- Run oplshut -s on a command line.
-- Observe the number of OpenLink database agent processes.
-- Compare the output of oplshut -s with a Unix ps -ef or Windows Task Manager.
-- Upgrade if oplshut -s or the Windows Task Manager shows more agent processes.
6. Connect to Progress databases in sockets mode. A Progress shared memory library bug causes OpenLink's database agents to linger.
7. Contact OpenLink Product Support, if you use Progress 91C or 91D. OpenLink is working to resolve occurrences of lingering agents that are not associated with the shared memory bug.
Troubleshooting
What Do I Do If My ODBC Connectivity Suddenly Stopps Working Altogether?
Sudden loss of functionality is attributed to two factors:
1. License expiration.
2. Installation of database patches, operating system upgrades, or anti-virus software.
Consequently, users take the following action:
1. Search their entire machines for expired, temporary licenses.
2. Delete temporary licenses.
3. Send permanent keys to OpenLink Product Support for review.
4. Ascertain whether or not patches, upgrades, or anti-virus software has been applied to the affected machine.
OpenLink Product Support may not have immediate answers for problems caused by patches, upgrades, or anti-virus software. Specialized testing may be needed.
Troubleshooting
What Do I Do If My ODBC Connectivity Suddenly Stopps Working Altogether?
Sudden loss of functionality is attributed to two factors:
1. License expiration.
2. Installation of database patches, operating system upgrades, or anti-virus software.
Consequently, users take the following action:
1. Search their entire machines for expired, temporary licenses.
2. Delete temporary licenses.
3. Send permanent keys to OpenLink Product Support for review.
4. Ascertain whether or not patches, upgrades, or anti-virus software has been applied to the affected machine.
OpenLink Product Support may not have immediate answers for problems caused by patches, upgrades, or anti-virus software. Specialized testing may be needed.
Troubleshooting
What Do I Do If My Single-Tier DSN Fails To Disconnect?
1. Use your database native transaction monitor to see if OpenLink drivers are locked in pending transactions. OpenLink drivers cannot disconnect from a database while they are still engaged in transactions.
2. Ensure that your application does not enforce manual commits. Use of manual commit may encourage the behavior described above.
3. Check the database native error logs for failures that may contribute to this problem.
4. Create a client-side ODBC trace. Examine the trace to ensure that the application sends the proper sequence of SQLFree()s and SQLDisconnect()s to the driver.
5. Ensure OpenLink's Progress Single-Tier drivers establish sockets-based connections to Progress. A Progress shared memory library bug causes failures to disconnect.
6. Contact OpenLink Product Support, if you use Progress 91C or 91D. OpenLink is working to resolve occurrences of lingering agents that are not associated with the shared memory bug.
Troubleshooting
What Do I Do If My Single-Tier DSN Fails To Disconnect?
1. Use your database native transaction monitor to see if OpenLink drivers are locked in pending transactions. OpenLink drivers cannot disconnect from a database while they are still engaged in transactions.
2. Ensure that your application does not enforce manual commits. Use of manual commit may encourage the behavior described above.
3. Check the database native error logs for failures that may contribute to this problem.
4. Create a client-side ODBC trace. Examine the trace to ensure that the application sends the proper sequence of SQLFree()s and SQLDisconnect()s to the driver.
5. Ensure OpenLink's Progress Single-Tier drivers establish sockets-based connections to Progress. A Progress shared memory library bug causes failures to disconnect.
6. Contact OpenLink Product Support, if you use Progress 91C or 91D. OpenLink is working to resolve occurrences of lingering agents that are not associated with the shared memory bug.
Troubleshooting
What Do I Do If My Single-Tier DSN Fails To Connect?
Post the problem into an online support case -- http://support.openlinksw.com/support/online-support.vsp
Troubleshooting
What Do I Do When The Installation Process Produces Errors?
Use the following guidelines to eradicate installation problems:
1. Obtain the name of the installation file. Obtain the name and version of the operating system. (Use uname -a on Unix.) Compare the two resources to determine if the software and operating system are compatible.
2. Ask about operating system patches. Patches can interfere with installs on otherwise supported operating systems.
3. Check file and directory permissions.
4. Use the Windows explorer or Unix df -k to check disk space.
5. Ensure unnecessary processes are shutdown.
6. Determine how far the installation has progressed. Some Windows installers hang during registry update. However, the actual installation is complete and functional.
7. Search OPIE for a description of the actual error.
8. Attempt to recreate the problem in-house.
Consultants should report persistent installation problems to the Tech Support Manager. These problems may indicate critical install bugs.
Troubleshooting
What Do I Do When The Installation Process Produces Errors?
Use the following guidelines to eradicate installation problems:
1. Obtain the name of the installation file. Obtain the name and version of the operating system. (Use uname -a on Unix.) Compare the two resources to determine if the software and operating system are compatible.
2. Ask about operating system patches. Patches can interfere with installs on otherwise supported operating systems.
3. Check file and directory permissions.
4. Use the Windows explorer or Unix df -k to check disk space.
5. Ensure unnecessary processes are shutdown.
6. Determine how far the installation has progressed. Some Windows installers hang during registry update. However, the actual installation is complete and functional.
7. Search OPIE for a description of the actual error.
8. Attempt to recreate the problem in-house.
Consultants should report persistent installation problems to the Tech Support Manager. These problems may indicate critical install bugs.
Troubleshooting
What Do I Do When The Installation Process Hangs Without An Error?
Take the following action, if a hang occurs:
1. Obtain the name of the installation file. Obtain the name and version of the operating system. (Use uname -a on Unix.) Compare the two resources to determine if the software and operating system are compatible.
2. Ask about operating system patches. Patches can interfere with installs on otherwise supported operating systems.
3. Check file and directory permissions.
4. Use the Windows explorer or Unix df -k to check disk space.
5. Ensure unnecessary processes are shutdown.
6. Determine how far the installation has progressed. Some Windows installers hang during registry update. However, the actual installation is complete and functional.
7. Attempt to recreate the problem in-house.
Consultants should report persistent installation problems to the Tech Support Manager. These problems may indicate critical install bugs.
Troubleshooting
What Do I Do When The Installation Process Hangs Without An Error?
Take the following action, if a hang occurs:
1. Obtain the name of the installation file. Obtain the name and version of the operating system. (Use uname -a on Unix.) Compare the two resources to determine if the software and operating system are compatible.
2. Ask about operating system patches. Patches can interfere with installs on otherwise supported operating systems.
3. Check file and directory permissions.
4. Use the Windows explorer or Unix df -k to check disk space.
5. Ensure unnecessary processes are shutdown.
6. Determine how far the installation has progressed. Some Windows installers hang during registry update. However, the actual installation is complete and functional.
7. Attempt to recreate the problem in-house.
Consultants should report persistent installation problems to the Tech Support Manager. These problems may indicate critical install bugs.
Troubleshooting
What Do I Need To Test The JDBC-ODBC Bridge?
You need a functional ODBC Data Source Name (DSN). This DSN may use OpenLink or non-OpenLink drivers.
You need to install Sun's Java Runtime Environment (JRE) on the same machine as the ODBC Data Source.
You need to install OpenLink's Single-Tier JDBC driver on the machine that contains the ODBC Data Source and the JRE.
You need to run your JAVA application on the machine that contains OpenLink's Single-Tier JDBC driver.
Troubleshooting
What Do I Need To Test The JDBC-ODBC Bridge?
You need a functional ODBC Data Source Name (DSN). This DSN may use OpenLink or non-OpenLink drivers.
You need to install Sun's Java Runtime Environment (JRE) on the same machine as the ODBC Data Source.
You need to install OpenLink's Single-Tier JDBC driver on the machine that contains the ODBC Data Source and the JRE.
You need to run your JAVA application on the machine that contains OpenLink's Single-Tier JDBC driver.
Troubleshooting
What Do I Need To Test The ODBC-JDBC Bridge?
You need JDBC drivers that connect to your target data source.
You need to install your Single-Tier client driver or Multi-Tier server components (Request Broker & JDBC Bridge Agent) on the machine, which contains the JDBC connection URL.
Your JDBC client application must reside on the machine that contains the Single-Tier client driver or the Multi-Tier client components.
Troubleshooting
What Do I Need To Test The ODBC-JDBC Bridge?
You need JDBC drivers that connect to your target data source.
You need to install your Single-Tier client driver or Multi-Tier server components (Request Broker & JDBC Bridge Agent) on the machine, which contains the JDBC connection URL.
Your JDBC client application must reside on the machine that contains the Single-Tier client driver or the Multi-Tier client components.
Troubleshooting
What Do I Need To Test The ODBC-ODBC Bridge?
You need 3rd party ODBC drivers that connect to your database;
You need to install your Single-Tier driver or Multi-Tier driver server components (Request Broker & Generic ODBC Agent) on the machine, which contains the 3rd party ODBC drivers;
Your client application must reside on the same machine as the Single-Tier driver or the Multi-Tier driver client components.
Troubleshooting
What Do I Need To Test The ODBC-ODBC Bridge?
You need 3rd party ODBC drivers that connect to your database;
You need to install your Single-Tier driver or Multi-Tier driver server components (Request Broker & Generic ODBC Agent) on the machine, which contains the 3rd party ODBC drivers;
Your client application must reside on the same machine as the Single-Tier driver or the Multi-Tier driver client components.
Troubleshooting
What Environment Variables Need To Be Set On Unix Systems?
Users need to run openlink.sh or openlink.csh in the appropriate shell to set the following variables on all unix systems: CLASSPATH A JAVA client variable that passes the full path to an OpenLink JDBC .jar file. LD_LIBRARY_PATH A generic library path variable that appends the full path to OpenLink's lib sub-directory. LIBPATH An AIX library path variable that appends the full path to OpenLink's lib sub-directory. ODBCINI Passes the full path to ~/openlink/bin/odbc.ini. ODBCINSTINI Passes the full path to ~/openlink/bin/odbcinst.ini. OPENLINKINI This Single-Tier variable passes the full path to ~/openlink/bin/openlink.ini. PATH Appends the full path to OpenLink's bin sub-directory. SHLIB_PATH An HP/UX library path variable that appends the full path to OpenLink's lib sub-directory.
Troubleshooting
What Environment Variables Need To Be Set On Windows Systems?
Most ODBC users do not need to set environment variables on Windows systems. JDBC users must ensure that CLASSPATH is set as a System and/or User variable. CLASSPATH passes the full path to OpenLink's JDBC .jar files. This applies to both Multi-Tier and Single-Tier installations. OpenLink's Multi-Tier oplrqb.ini is a server side file that appears in the bin sub-directory of the server components installation. It contains a series of [Environment] sections. These sections pass variables that OpenLink components need to connect to specific databases.
Troubleshooting
What Factors Contribute To Performance Problems?
The following factors contribute to performance problems:
Use of OpenLink's older 1.x and 3.x drivers. The RPC communications layer--contained within newer, OpenLink drivers--was redesigned for enhanced performance.;
Use of OpenLink's Multi-Tier drivers when use of Single-Tier drivers is possible. Single-Tier drivers boost performance.;
Use of sockets connectivity where shared memory connectivity is possible.;
Retrieval of large, binary objects.;
Non-use or misuse of the Row Buffer Size DSN attribute.;
Use of less efficient cursor modalities.;
Poor use of indexes and table structuring.
Troubleshooting
What Factors Contribute To Performance Problems?
The following factors contribute to performance problems:
Use of OpenLink's older 1.x and 3.x drivers. The RPC communications layer--contained within newer, OpenLink drivers--was redesigned for enhanced performance.;
Use of OpenLink's Multi-Tier drivers when use of Single-Tier drivers is possible. Single-Tier drivers boost performance.;
Use of sockets connectivity where shared memory connectivity is possible.;
Retrieval of large, binary objects.;
Non-use or misuse of the Row Buffer Size DSN attribute.;
Use of less efficient cursor modalities.;
Poor use of indexes and table structuring.
Troubleshooting
What Factors Contribute To Stability Problems?
The following factors contribute to stability problems: Improper use of database agent reuse rules in the Multi-Tier oplrqb.ini file;
Inadequate memory; Inadequate processor count; Insufficient allocation of TCP ports in the Multi-Tier oplrqb.ini file;
Lack of critical database patches or application of flawed patches; Lack of critical o/s patches or application of flawed patches;
Sub-optimal kernel tuning parameters (Unix); Use of deprecated OpenLink components;
Use of OpenLink products with an incompatible databases or o/s; Use of Single-Tier drivers on top of unstable database native clients.
Troubleshooting
What Factors Contribute To Stability Problems?
The following factors contribute to stability problems: Improper use of database agent reuse rules in the Multi-Tier oplrqb.ini file;
Inadequate memory; Inadequate processor count; Insufficient allocation of TCP ports in the Multi-Tier oplrqb.ini file;
Lack of critical database patches or application of flawed patches; Lack of critical o/s patches or application of flawed patches;
Sub-optimal kernel tuning parameters (Unix); Use of deprecated OpenLink components;
Use of OpenLink products with an incompatible databases or o/s; Use of Single-Tier drivers on top of unstable database native clients.
Troubleshooting
What Resources Can I Use To Solve Support Cases?
OpenLink consultants have a wide array of resources at their disposal. Resources include: OPIE Knowledge-base & Wiki;
OPIE Case Search Page; OpenLink Viewlet Library; UDA Product Documentation; OpenLink Internal Newsgroups; Google Web & Group Search; Database Vendor Sites & User Groups; Support staff should exhaust these resources before approaching senior support or management for assistance.
Troubleshooting
What Resources Can I Use To Solve Support Cases?
OpenLink consultants have a wide array of resources at their disposal. Resources include: OPIE Knowledge-base & Wiki;
OPIE Case Search Page; OpenLink Viewlet Library; UDA Product Documentation; OpenLink Internal Newsgroups; Google Web & Group Search; Database Vendor Sites & User Groups; Support staff should exhaust these resources before approaching senior support or management for assistance.
Troubleshooting
What Steps Should I Take To Debug My Cases?
No single procedure will enable consultants to resolve all problems. Instead, consultants will need to develop a flexible attitude and a wide-variety of diagnostic skills. In the interim, new consultants may use the following tips to debug their cases
Troubleshooting
What Types Of Problems Do Consultants Debug?
OpenLink Support consultants debug a wide array of problems. Problems range from simple downloads, installation, and licensing problems to complex stability, development, and migration problems.
Features
Does OpenLink Load Share for Active-Active Clusters?
Our Multi-Tier drivers may be deployed in a load balancing architecture.
Features
Does OpenLink function in Fail-over Cluster environments?
Yes. OpenLink functions in Fail-over Cluster environments.
Multi-Tier users must install one set of OpenLink server components (Request Broker & Database Agent) on each node. The fail-over Broker may be instantiated by shell scripts, cron, or some other startup procedure, when the active node goes down.
Some environments may support multiple, running Request Brokers, so long as each Request Broker can bind to a unique IP address.
Features
Does OpenLink function in Fail-over Cluster environments?
Yes. OpenLink functions in Fail-over Cluster environments.
Multi-Tier users must install one set of OpenLink server components (Request Broker & Database Agent) on each node. The fail-over Broker may be instantiated by shell scripts, cron, or some other startup procedure, when the active node goes down.
Some environments may support multiple, running Request Brokers, so long as each Request Broker can bind to a unique IP address.
Features
Does OpenLink provide data migration facilities?
OpenLink's UDA drivers can be used in conjunction with 3rd-party data migration facilities. However, OpenLink's Virtuoso Server provides Snapshot Replication and a Virtual Database Repository. Virtuoso Snapshot Replication is similar to MS SQLServer's Data Transformation Services (DTS) Wizard.
Virtuoso's Virtual Database Repository provides one with an interface and functionality similar to MS SQLServer's Linked Servers or Oracle's Heterogeneous Services.
Features
Does OpenLink provide data migration facilities?
OpenLink's UDA drivers can be used in conjunction with 3rd-party data migration facilities. However, OpenLink's Virtuoso Server provides Snapshot Replication and a Virtual Database Repository. Virtuoso Snapshot Replication is similar to MS SQLServer's Data Transformation Services (DTS) Wizard.
Virtuoso's Virtual Database Repository provides one with an interface and functionality similar to MS SQLServer's Linked Servers or Oracle's Heterogeneous Services.
Features
What Do Your Drivers Do?
OpenLink's Data Access drivers enable users to establish ODBC, ADO.Net, OLEDB and JDBC connections between applications and databases. Applications use these connections to execute SQL queries against the data contained within the databases. Typical SQL queries select, insert, update, or delete data. Other queries add, modify, or delete the structures that contain the data.
Features
What Is The JDBC-ODBC Bridge?
The JDBC-ODBC Bridge--or "Type 1" JDBC connection--allows users to establish connections to ODBC Data Source Names using a JDBC connection URL. The JDBC connection URL passes the name of a valid ODBC Data Source as a connection parameter
Features
What Is The ODBC-JDBC Bridge?
OpenLink's ODBC-JDBC Bridge drivers allow ODBC Data Source Names to connect to JDBC connection URLs. This allows ODBC compliant applications to connect to and query JDBC data stores.
Features
What Is The ODBC-ODBC Bridge?
OpenLink Software builds specific database agents for DB2, Informix, Ingres, MS SQLServer, MySQL, Oracle, PostgreSQL, Progress, and Sybase. However, many users have Access, Paradox, Btrieve, DBase, and other databases for which OpenLink does not build agents. The ODBC-ODBC Bridge enables users to connect OpenLink drivers to these databases. The Bridge proxies OpenLink driver connections through 3rd party drivers that already connect to the database.
Evaluation
Does OpenLink produce custom software for evaluators?
OpenLink can build custom software for users, provided OpenLink has access to the requisite databases, operating system, and development tools. (OpenLink can purchase these tools or use tools provided by the user.)
Note: Custom builds come at a cost so please contact your OpenLink Account Manager to discuss any arrangements you have.
Evaluation
Does OpenLink produce custom software for evaluators?
OpenLink can build custom software for users, provided OpenLink has access to the requisite databases, operating system, and development tools. (OpenLink can purchase these tools or use tools provided by the user.)
Note: Custom builds come at a cost so please contact your OpenLink Account Manager to discuss any arrangements you have.
Evaluation
How Do I Get An Evaluation License File?
OpenLink's downloads page emails licenses to the email account that appears in the user's profile. Take the following action, if a user does not receive a license file:
-- Encourage the user to repeat the downloads process and stop, just before he or she downloads the software. The OpenLink web page should send a license key to the user's email.
-- Verify the user's email address, if the problem persists.
Evaluation
How Do I Get An Evaluation License File?
OpenLink's downloads page emails licenses to the email account that appears in the user's profile. Take the following action, if a user does not receive a license file:
-- Encourage the user to repeat the downloads process and stop, just before he or she downloads the software. The OpenLink web page should send a license key to the user's email.
-- Verify the user's email address, if the problem persists.
Evaluation
How can I assess my data access needs?
Use the following series of questions to help you resolve your data access needs:
Do you need to:
-- Category 1. Query a database with one or more client applications?
-- Category 2. Query two or more heterogeneous databases simultaneously?
-- Category 3. Migrate data from one DBMS to another?
If you fall into Category 1, you require our UDA drivers. If you fall into Category 2, you require our Virtuoso suite.
For category 3, we recommend the Virtuoso suite. Alternatively, if you are using an existing Data Migration tool such as Oracle HS services, UDA is what you require as these drivers work in conjunction with other data migration utilities such as Ms SQLServer's DTS Wizard.
Does OpenLink provide Single-Tier or Multi-Tier drivers for the evaluator's DBMS?
-- Category 1 - Yes.
-- Category 2 - No.
Evaluators in Category 1 may use the appropriate UDA driver for your database.
If you fall into the second Category, you may use OpenLink's generic ODBC UDA drivers. Both the generic Single-Tier and Multi-Tier ODBC drivers connect to 3rd-party Data Sources, which allow connectivity to your DBMS.
Does your evaluator have the database native client?
-- Category 1 - Yes. It is installed on the same machine as the client application.
-- Category 2 - Yes. It is installed on a different machine on the network.
-- Category 3 - No.
For evaluators who fall into the Category 1, we recommend Our OpenLink Single-Tier drivers.
We recommend OpenLink's Multi-Tier drivers to evaluators in Category 2.
Evaluators in Category 3 must install the OpenLink server components on their database server.
NOTE:Evaluators in Category 2 may install the OpenLink server components on their database server or any machine, which contains the database native client. In this scenario, the OpenLink database agent can connect to the database through that database client. Please see the technical article on connecting via in a three-tier environment
Evaluation
How can I assess my data access needs?
Use the following series of questions to help you resolve your data access needs:
Do you need to:
-- Category 1. Query a database with one or more client applications?
-- Category 2. Query two or more heterogeneous databases simultaneously?
-- Category 3. Migrate data from one DBMS to another?
If you fall into Category 1, you require our UDA drivers. If you fall into Category 2, you require our Virtuoso suite.
For category 3, we recommend the Virtuoso suite. Alternatively, if you are using an existing Data Migration tool such as Oracle HS services, UDA is what you require as these drivers work in conjunction with other data migration utilities such as Ms SQLServer's DTS Wizard.
Does OpenLink provide Single-Tier or Multi-Tier drivers for the evaluator's DBMS?
-- Category 1 - Yes.
-- Category 2 - No.
Evaluators in Category 1 may use the appropriate UDA driver for your database.
If you fall into the second Category, you may use OpenLink's generic ODBC UDA drivers. Both the generic Single-Tier and Multi-Tier ODBC drivers connect to 3rd-party Data Sources, which allow connectivity to your DBMS.
Does your evaluator have the database native client?
-- Category 1 - Yes. It is installed on the same machine as the client application.
-- Category 2 - Yes. It is installed on a different machine on the network.
-- Category 3 - No.
For evaluators who fall into the Category 1, we recommend Our OpenLink Single-Tier drivers.
We recommend OpenLink's Multi-Tier drivers to evaluators in Category 2.
Evaluators in Category 3 must install the OpenLink server components on their database server.
NOTE:Evaluators in Category 2 may install the OpenLink server components on their database server or any machine, which contains the database native client. In this scenario, the OpenLink database agent can connect to the database through that database client. Please see the technical article on connecting via in a three-tier environment
Performance
How can I bench-test OpenLink drivers?
You can download OpenLink ODBC Bench to run TPC-A like and TPC-C like bench tests against OpenLink and non-OpenLink ODBC drivers.
OpenLink Software also provide a OpenLink JDBC Bench to run TPC-A like bench tests against OpenLink and non-OpenLink JDBC drivers.
Please feel free to contribute your results to the OpenLink Product Support team
Performance
How can I bench-test OpenLink drivers?
You can download OpenLink ODBC Bench to run TPC-A like and TPC-C like bench tests against OpenLink and non-OpenLink ODBC drivers.
OpenLink Software also provide a OpenLink JDBC Bench to run TPC-A like bench tests against OpenLink and non-OpenLink JDBC drivers.
Please feel free to contribute your results to the OpenLink Product Support team
Performance
How can I detect bottlenecks caused by OpenLink drivers?
Download ODBC Scan to detect bottlenecks caused by OpenLink drivers.
Performance
How can I prevent performance problems?
As the OpenLink MT and ST drivers are middleware software, it is important to note that its performance can be influenced by the Client and Server configurations in use. This means, lack of system memory, kernel configurations, disk space, sql queries, coding techniques, un-indexed tables, network can all play a major part in the performance of the driver. Notwithstanding, we have outlined below ways in which you can increase the performance of the drivers.
1. Use OpenLink Single-Tier drivers where possible.
2. It is always recommended that, OpenLink's latest drivers are used where possible as these contain patches that might alleviate any performance bottlenecks you are facing. Only use OpenLink 4.2 drivers where we do not have a driver available. If you request this driver, please contact a Product Support consultant who will liaise with your Account Manager.
3. Establish 3-Tier Multi-Tier connections when Single-Tier connectivity is not possible.
4. Establish shared memory connections to databases that provide sockets and shared memory alternatives.
5. Check your DSN's "Defer fetching of long data" check box, when your result-sets contain binary data.
6. Locate the Row Buffer Size box that appears on your DSN setup dialog. Set this value to 1. Test. Next, set Row Buffer Size to 99. Test. Do you see a difference? If the first test is faster, your performance problems may stem from the makeup of your result-sets. If the second test is faster, your performance problems may stem from network latency. This awareness will help you set your Row Buffer Size in a manner that is beneficial to your situation.
7. Test a variety of client and server cursor modalities. Choose the modality that suits your application needs and provides the best performance.
8. If you are using the Multi-Tier Drivers, you can also increase the Send & Receive sizes. These might have an adverse effect on the network if you increase it sharply. Please consult your Product Support consultant if you want more information on this. If you increase this value, please ensure the Client (Send size) matches the Server (Receive size) and vice versa. Typically, this value is only increase when sending data from the Server to the client
9. If using the Multi-Tier drivers, please ensure your Reuse Rule is set in a manner that is appropriate for your system. If you anticipate long and complex queries, it is recommended that you do not reuse the agent. Alternatively, if you are in an environment that utilizes short, sharp bursts at the system, it might be conducive if you share agents, this means less system processes and resources will be instantiated on your system.
10. In OpenLink 5.x Multi-Tier, we have introduced the Linger Timeout. This creates a Connection Pooling environment on the server when handling connections. This means dormant connections can be reused.
Performance
How can I prevent performance problems?
As the OpenLink MT and ST drivers are middleware software, it is important to note that its performance can be influenced by the Client and Server configurations in use. This means, lack of system memory, kernel configurations, disk space, sql queries, coding techniques, un-indexed tables, network can all play a major part in the performance of the driver. Notwithstanding, we have outlined below ways in which you can increase the performance of the drivers.
1. Use OpenLink Single-Tier drivers where possible.
2. It is always recommended that, OpenLink's latest drivers are used where possible as these contain patches that might alleviate any performance bottlenecks you are facing. Only use OpenLink 4.2 drivers where we do not have a driver available. If you request this driver, please contact a Product Support consultant who will liaise with your Account Manager.
3. Establish 3-Tier Multi-Tier connections when Single-Tier connectivity is not possible.
4. Establish shared memory connections to databases that provide sockets and shared memory alternatives.
5. Check your DSN's "Defer fetching of long data" check box, when your result-sets contain binary data.
6. Locate the Row Buffer Size box that appears on your DSN setup dialog. Set this value to 1. Test. Next, set Row Buffer Size to 99. Test. Do you see a difference? If the first test is faster, your performance problems may stem from the makeup of your result-sets. If the second test is faster, your performance problems may stem from network latency. This awareness will help you set your Row Buffer Size in a manner that is beneficial to your situation.
7. Test a variety of client and server cursor modalities. Choose the modality that suits your application needs and provides the best performance.
8. If you are using the Multi-Tier Drivers, you can also increase the Send & Receive sizes. These might have an adverse effect on the network if you increase it sharply. Please consult your Product Support consultant if you want more information on this. If you increase this value, please ensure the Client (Send size) matches the Server (Receive size) and vice versa. Typically, this value is only increase when sending data from the Server to the client
9. If using the Multi-Tier drivers, please ensure your Reuse Rule is set in a manner that is appropriate for your system. If you anticipate long and complex queries, it is recommended that you do not reuse the agent. Alternatively, if you are in an environment that utilizes short, sharp bursts at the system, it might be conducive if you share agents, this means less system processes and resources will be instantiated on your system.
10. In OpenLink 5.x Multi-Tier, we have introduced the Linger Timeout. This creates a Connection Pooling environment on the server when handling connections. This means dormant connections can be reused.
Licensing
How Do Users Obtain Licenses?
OpenLink's downloads page forwards temporary licenses to the user's email account. Users must approach an OpenLink Account Manager to obtain a permanent license or purchase using the online ordering system.
Licensing
How can I tell if a license is or is not corrupt?
Use ASNPRINT.exe to diagnose the functionality of 4.x and 5.x licenses. ASNPRINT.exe displays the terms of functional licenses. It cannot read corrupt licenses.
ASNPRINT.exe can not read OpenLink's 1.x and 3.x license file format. Transfer these licenses to the relevant platform. Attempt to register the appropriate product with these drivers. Then, take the action that corresponds to that product:
1. Set the system clock ahead to test Single-Tier data sources.
2. Start the Request Broker with oplrqb -dv to verify the proper license terms.
Licensing
How can I tell if a license is or is not corrupt?
Use ASNPRINT.exe to diagnose the functionality of 4.x and 5.x licenses. ASNPRINT.exe displays the terms of functional licenses. It cannot read corrupt licenses.
ASNPRINT.exe can not read OpenLink's 1.x and 3.x license file format. Transfer these licenses to the relevant platform. Attempt to register the appropriate product with these drivers. Then, take the action that corresponds to that product:
1. Set the system clock ahead to test Single-Tier data sources.
2. Start the Request Broker with oplrqb -dv to verify the proper license terms.
Licensing
How do I get a commercial license?
Users must contact an OpenLink Account Manager to obtain a commercial license. Consultants cannot generate non-expiring, commercial licenses for users.
Licensing
How does clustering affect licensing?
Single-Tier users must license each individual Single-Tier installation. Multi-Tier users must obtain a distinct license for each running Request Broker. Hence, all load balancing architectures require two or more Request Broker licenses. Fail-over architectures may share one license, so long as only one Request Broker runs at a time. However, some fail-over architectures may require or benefit from multiple licenses.
Note:Please contact your Account Manager for more information on your Clustering License needs
Licensing
How does clustering affect licensing?
Single-Tier users must license each individual Single-Tier installation. Multi-Tier users must obtain a distinct license for each running Request Broker. Hence, all load balancing architectures require two or more Request Broker licenses. Fail-over architectures may share one license, so long as only one Request Broker runs at a time. However, some fail-over architectures may require or benefit from multiple licenses.
Note:Please contact your Account Manager for more information on your Clustering License needs
Licensing
How much do licenses cost?
Pricing Information can be obtained from the Sales section (http://www.openlinksw.com/sales ) of the OpenLink Web Site:
Licensing
What Can I Do To Assist Users Who Have Lost Their Licenses?
Users may repeat the downloads process--up to three times--to obtain new, temporary licenses. However, this option is inconvenient for many persons. Consequently, consultants may generate licenses with the license generators. Alternatively, consultants may ask the Account Manager to generate a temporary key. Users must contact their OpenLink Account Managers to obtain a new, permanent license.
Licensing
What Do I Do If My Existing License Key Does Not Work?
Some users cannot use existing licenses to register their software. Take the following action:
1. Ensure that all ftp transfers are conducted in binary transfer mode. OpenLink's licenses are binary executables.
2. Obtain Single-Tier client driver versions or Multi-Tier Broker versions. Use ASNPRINT.exe to ensure that the license and product share the same version. (Consultants must open 1.x and 3.x licenses with Notepad. ASNPRINT cannot read these files.)
3. Remove extraneous, OpenLink licenses from the machine.
4. Ensure that the OpenLink's Windows and Unix licenses are passed by the PATH environment variable. Ensure that Unix licenses are passed by the Unix OPL_LICENSE_DIR variable.
5. Remove references to old, OpenLink licenses from the registry, if the problem persists. (Search using license product code.)
6. Please reinstall and register the software, if the problem persists. Windows Single-Tier users should remove references to the Single-Tier driver-from their registries-before re-installation. Users may run regedit from a terminal prompt to access their registries.
Licensing
What Do I Do If My Existing License Key Does Not Work?
Some users cannot use existing licenses to register their software. Take the following action:
1. Ensure that all ftp transfers are conducted in binary transfer mode. OpenLink's licenses are binary executables.
2. Obtain Single-Tier client driver versions or Multi-Tier Broker versions. Use ASNPRINT.exe to ensure that the license and product share the same version. (Consultants must open 1.x and 3.x licenses with Notepad. ASNPRINT cannot read these files.)
3. Remove extraneous, OpenLink licenses from the machine.
4. Ensure that the OpenLink's Windows and Unix licenses are passed by the PATH environment variable. Ensure that Unix licenses are passed by the Unix OPL_LICENSE_DIR variable.
5. Remove references to old, OpenLink licenses from the registry, if the problem persists. (Search using license product code.)
6. Please reinstall and register the software, if the problem persists. Windows Single-Tier users should remove references to the Single-Tier driver-from their registries-before re-installation. Users may run regedit from a terminal prompt to access their registries.
Licensing
What Do I Do If My Existing License Key Is Expired?
Users may obtain additional, temporary license keys from the OpenLink web site. Users proceed through the downloads matrix and stop, when they are presented with the product download links. Licenses are mailed to users, before they click the actual links to obtain the software.
Licensing
What Do I Tell Users Who Want New Temporary Licenses?
Users may repeat the downloads process--up to three times--to obtain new, temporary licenses. However, this option is inconvenient for many persons. Consequently, consultants may generate licenses with the license generators. Alternatively, consultants may ask the Account Manager to generate a temporary key.
Licensing
What Is A Concurrent Connection?
A concurrent session is an open database session. Users often confuse database connections with perceived application connections. For example, Microsoft Access may appear to open one connection against the target database. However, Access really spawns 2 or more database sessions. This causes an unexpected number of licenses to be consumed. Users must understand that Access and other connections are coded to behave in this manner.
Licensing
What Is A Concurrent User?
A concurrent user is a distinct ip address.
Licensing
What Is ASNPRINT.exe?
ASNPRINT.exe is a diagnostic utility. It reads OpenLink 4.x and 5.x licenses, and displays the terms associated with those licenses. ASNPRINT.exe cannot read corrupt licenses. ASNPRINT.exe cannot read 1.x or 3.x licenses.
Licensing
What Licenses are provided?
OpenLink provided non-expiring, evaluation licenses with 1.x and 3.x Multi-Tier software. Inform 1.x and 3.x users that OpenLink's latest components use a new licensing model. Then, send these users to Account Management for additional information.
Licensing
What are the UDA Licensing Model based on?
Both Single-Tier and Multi-Tier license models are based on concurrent "users" and concurrent "connections."
Uninstalling
How Do I Uninstall Existing OpenLink Software?
Windows users may use OpenLink's uninstall utility to remove existing software. Windows users may also move the Add or Remove Programs utility, which appears in their Control Panel. OpenLink does not provide an uninstall utility for Unix platforms. Unix users may use rm or rmdir to remove existing builds.
Uninstalling
How Do Users Uninstall OpenLink Software?
OpenLink's Windows and Mac OS X drivers ship with uninstall utilities. OpenLink's Unix and Mac Classic drivers do not ship with uninstall utilities. Users must manually remove Unix and Mac Classic components. Unix users simply rm or rmdir the installation directory. Mac Classic users use their installation reports to identify and locate the components that need to be removed.
Documentation
How Do Your Drivers Work?
OpenLink's Single-Tier drivers are client-side drivers. Users install most Single-Tier drivers on a machine, which contains the database native client. The drivers connect to this native client and send queries-through the client--to the database. In essence, the database native client speaks a proprietary network protocol that bridges the gap between a local driver and a remote database.
OpenLink's MS SQLServer, MySQL, PostgreSQL, and Sybase drivers are "wire protocol" drivers. These drivers contain libraries, which allow them to speak their database's native network protocol. Hence, users may install these drivers on any supported operating system. These drivers do not need the database native client to connect.
OpenLink's Multi-Tier drivers are client/server drivers. All users install the client on the machine, which contains their client application. Most users install OpenLink's Multi-Tier server components on a machine that contains the database or the database native client.
OpenLink's Multi-Tier server components consist of a Broker and a database-specific agent. The Broker responds to client requests and spawns the database agent that is designed to speak to the intended database. This agent is written in the database CLI and may speak directly to the database or proxy queries through the database native client. Moreover, the database agent is responsible for the return of data to the calling application.
Finally, persons with MS SQLServer, MySQL, PostgreSQL, and/or Sybase databases may install their Multi-Tier server components on any supported operating system. These agents speak the database native communications protocol. Consequently, they can establish connections to remote databases without the aid of the database native client.
Documentation
How Do Your Drivers Work?
OpenLink's Single-Tier drivers are client-side drivers. Users install most Single-Tier drivers on a machine, which contains the database native client. The drivers connect to this native client and send queries-through the client--to the database. In essence, the database native client speaks a proprietary network protocol that bridges the gap between a local driver and a remote database.
OpenLink's MS SQLServer, MySQL, PostgreSQL, and Sybase drivers are "wire protocol" drivers. These drivers contain libraries, which allow them to speak their database's native network protocol. Hence, users may install these drivers on any supported operating system. These drivers do not need the database native client to connect.
OpenLink's Multi-Tier drivers are client/server drivers. All users install the client on the machine, which contains their client application. Most users install OpenLink's Multi-Tier server components on a machine that contains the database or the database native client.
OpenLink's Multi-Tier server components consist of a Broker and a database-specific agent. The Broker responds to client requests and spawns the database agent that is designed to speak to the intended database. This agent is written in the database CLI and may speak directly to the database or proxy queries through the database native client. Moreover, the database agent is responsible for the return of data to the calling application.
Finally, persons with MS SQLServer, MySQL, PostgreSQL, and/or Sybase databases may install their Multi-Tier server components on any supported operating system. These agents speak the database native communications protocol. Consequently, they can establish connections to remote databases without the aid of the database native client.