APAR#: | II09211
Component: | INFOAS400 - AS/400 Information
Release(s) | R310

Abstract
CA400OS2OPT DATABASE AND ODBC INFORMATION
Error Description
`** Last updated 5/14/96 **`
`***** NOTE *****`
`Because of a problem with the backslashes not printing,`
`all places that require a backslash have been changed to`
`a vertical bar "|". Make sure when you are actually`
`entering the path names that you use a backslash.`
`Client Access/400 ODBC`
`______________________`
`An ODBC driver is shipped as part of the Client Access/400`
`Optimized for OS/2 client. This ODBC driver allows OS/2`
`application programs to access DB2/400 data residing on`
`the AS/400.`
`The Client Access/400 OS/2 ODBC driver meets level 2,`
`version 1.0 of the ODBC specification. The ODBC`
`specification has three levels of compliance: core, level`
`one, and level two. Core is the minimal level of`
`compliance and each additional level adds significant`
`function. The ODBC specification has undergone revision,`
`with some new APIs added to version 2.0. Further revisions`
`of the specification are expected.`
`In order to use the Client Access/400 ODBC driver, it is`
`necessary to have ODBC driver manager and administration`
`programs. These programs are available from companies such as`
`Visigenic Software (415-286-1900 or http://www.visigenic.com)`
`and Intersolv (800-547-4000 or 301-838-5000 or`
`http://www.intersolv.com). They are not provided with Client`
`Access/400 at this time, but may be distributed with ODBC`
`application programs.`
`The OS/2 Client Access/400 ODBC driver is installed during`
`installation of the OS/2 Optimized client. The ODBC driver`
`consists of three files: the driver program, EHNODBC2.DLL;`
`the set-up program, EHNSTP2.DLL; and the MRI file,`
`EHNODBC2.MR0. In addition two ODBC INI files get updated`
`or created during Client Access installation, ODBCINST.INI`
`and ODBC.INI.`
`The ODBC administration program is used to create and`
`configure data sources. For convenience, think of a data`
`source as a connection to an AS/400 and a set of attribute`
`parameters for accessing data over that connection.`
`The ODBC administration program uses the information in the`
`ODBC.INI and ODBCINST.INI files to present menus of drivers`
`and data sources to manipulate. The Client Access/400`
`ODBC set-up program will be called when: the Client`
`Access/400 driver is selected to add a new data source; a`
`data source associated with Client Access/400 is selected`
`for configuration; a data source associated with Client`
`Access/400 is selected for deletion.`
`Limitations and known problems`
`______________________________`
`The Client Access/400 Optimized for OS/2 ODBC driver relies`
`on the router to provide its EBCDIC<->ASCII translation`
`tables. If the router is not running, the ODBC driver will`
`encounter a trap in EHNCL000.DLL. By default, the router`
`is started as part of the Client Access startup process.`
`The ODBC driver will return -1 from the SQLAllocEnv call`
`if the ODBC driver's MRI file, EHNODBC2.MR0, is not in a`
`subdirectory underneath the directory from which the`
`executing program is running. The subdirectory containing`
`the MRI must begin with the letters MRI, such as MRI2924.`
`The ODBC driver will return -1 from the SQLAllocEnv call if`
`the application uses a calling convention other than the`
`convention used by the driver manager. The Visigenic driver`
`manager expects parameters to be on the stack, not in the`
`registers. Try using the /Ms parameter on the compile step.`
`If the calling conventions don't match you'll often see a`
`variety of traps, but not always!`
`If the AS/400 associated with a data source is down, the`
`SQLAllocEnv and SQLAllocConnect calls in a program will`
`return zero but the SQLConnect call will fail returning -1.`
`The Client Access/400 Optimized for OS/2 ODBC driver does`
`not support a user interface in the SQLDriverConnect API`
`at this time.`
`ODBC applications running under OS/2's WIN-OS2 environment`
`are not supported by this driver. However, the Client`
`Access/400 for Windows 3.1 ODBC driver can be be used to`
`run Windows ODBC applications on the Optimized for OS/2`
`client.`
`Database Access only shows QGPL and QIWS libraries`
`__________________________________________________`
`Problem: Database Access only shows QGPL and QIWS libraries`
`for the Query, Create option and the View catalog`
`information options. Other libraries can only be reached`
`by directly typing in an SQL query statement using the`
`Query, Edit option.`
`Background:`
`The OS2 optimized database access tool retrieves information`
`by using ODBC, similar to the Windows client. In the Windows`
`client, the library list used by Database Access is defined`
`in the data source for the connection. The ODBC administrator`
`is used to configure this value. UNLIKE THE WINDOWS CLIENT,`
`THE OS2 CLIENT DOES NOT SHIP WITH AN ADMINISTRATOR.`
`An administrator can be purchased separately if the user`
`chooses to do so. Since an administration program is optional,`
`IBM decided to do the following.`
`The OS2 Database Access applet allows you to connect to an`
`AS400 system name, not an ODBC data source name.`
`When a system name is selected from the Add New Connection`
`dialog box, the OS2 config.sys is searched for a path to`
`a valid ODBC administration directory. If one is not found`
`it searches for an ODBC.INI file in the OS2 directory.`
`If ODBC.INI is not found here, it will create an empty one.`
`As soon as an ODBC.INI file is found (or created),`
`it is searched for a data source entry that matches the`
`system name. If this is found, it will use the`
`DefaultLibraries entry for the data source. If ODBC.INI`
`is empty (default), then the library list of the job is used.`
`By default, this is jobd QDFTJOBD which in turn defaults`
`to *SYSVAL. *SYSVAL will use the libraries defined in`
`system value QUSRLIBL.`
`Circumvention:`
`Edit the ODBC.INI and add the appropriate data source. This`
`process differs depending on whether or not you have`
`purchased an OEM ODBC administration program.`
`ODBC ADMINISTRATOR INSTALLED`
`----------------------------`
`1) Click on the administrator icon. Specific steps may`
`vary depending on the administrator you purchased but the`
`process is outlined below.`
`2) Select Add`
`3) Select ClientAccess/400. If this option does not appear`
`then consult II08874 on how to register ClientAccess with`
`the administrator.`
`4) Specify a Data Source Name that EXACTLY matches the`
`system name displayed in the database access add connection`
`dialog box.`
`5) Select options.`
`6) Specify desired libraries in the Default Libraries text box.`
`7) Save the data source.`
`NO ADMINISTRATOR INSTALLED`
`--------------------------`
`1) You must obtain an OS/2 ini file editor (unlike Windows 3.1x`
`OS/2 does not use a text ini file). You can download an`
`INI editor from the OS/2 BBS (919-517-0001 or`
`ftp.pcco.ibm.com). There are several editors to choose`
`from. Download all files.txt from the /pub directory for`
`a full listing of all files. Detailed instructions are`
`given below for the inimaint.exe program included as part`
`of INIEXE.ZIP in the pub/os2_util directory.`
`2) Example ini file:`
`Application Name: ODBC Data Sources`
`KeyName: RCHASTST`
`Text: ClientAccess/400`
`Application Name: RCHASTST`
`KeyName: DefaultLibraries`
`Text: QTEMP, MYTEST, DEVLIB`
`where:`
`RCHASTST is the system name as it appears in the add`
`connection dialog`
`QTEMP, MYTEST, DEVLIB are the libraries you wish to`
`query against`
`THESE ARE THE EXACT STEPS TO USE FOR INIMAINT`
`---------------------------------------------`
`1) At an OS/2 command line run: inimaint C:|os2|ODBC.INI`
`2) Click Actions, then Add Profile Name`
`3) The "Enter New Application" dialog will appear.`
`For Variable Data enter: ODBC Data Sources`
`Click the OK button.`
`4) The "Enter New Key" dialog box will appear. For Variable`
`Data enter: xxxxxxxx (where xxxxxxxx is your system name).`
`5) The "Add Key Value" dialog box will appear. Check the`
`"add Zero Terminator" box (if not already checked). For`
`Ascii Value enter: ClientAccess/400. Click the OK button.`
`6) Click Actions, then Add Profile Name`
`7) The "Enter New Application" dialog will appear. For`
`Variable Data enter: xxxxxxxx (where xxxxxxxx is the`
`system name you entered in step 4). Click the OK button.`
`8) The "Enter New Key" dialog box will appear. For Variable`
`Data enter: DefaultLibraries. Click the OK button.`
`9) The "add Key Value" dialog box will appear. Check the`
`"Add Zero Terminator" box (if not already checked). For`
`Ascii Value enter: lib1, lib2 where libx is a library`
`you wish to have in your library list. Separate multiple`
`libraries with commas. Click the OK button.`
`10) Select File, Exit from the menu bar.`
`ODBC driver returns security not valid error`
`____________________________________________`
`The AS/400 expects the user ID and password information to`
`be in uppercase. If your ODBC application prompts you for a`
`user ID and password, please be sure to use uppercase.`
`ODBC Administration program does not recognize the ODBC driver`
`______________________________________________________________`
`This problem may occur when Client Access/400 is installed`
`BEFORE the ODBC administrator.`
`During Client Access/400 installation, the OS/2 environment is`
`searched for the environment variable ODBC_PATH. If this`
`environment variable is set, then the ODBCINST.INI file in the`
`directory set in the variable (the default directory is ODBC)`
`is used by Client Access/400. The installation process will`
`created the ODBCINST.INI file in that directory or update an`
`existing ODBCINST.INI file if one is found.`
`If the ODBC_PATH environment variable is not set prior to`
`Client Access/400 installation, the ODBCINST.INI file will be`
`created (or updated) in the C:\OS2 directory.`
`If you are using an ODBC administrator which uses the ODBC_PATH`
`to search for the IDBCINST.INI file and Client Access/400 used`
`the ODBCINST.INI in C:\OS2, then your ODBC administration`
`program will not be aware of the Client Access ODBC driver.`
`If your ODBC administration program cannot find the Client`
`Access/400 ODBC driver, you will have to manually add`
`information to the ODBCINST.INI file. There are two ways:`
`1) Copy the ODBCINST.INI file created in C:|OS2 to the`
`directory to the directory set in ODBC_PATH.`
`2) Add Client Access to the existing ODBCINST.INI in the`
`directory set in ODBC_PATH.`
`If you have no other OS/2 ODBC drivers installed, then the`
`first option is the easiest solution.`
`WARNING: Just to be safe, make a copy of the existing`
`ODBCINST.INI. This will allow you to restore it should`
`copying the ODBCINST.INI from C:|OS2 cause other ODBC`
`applications to fail.`
`If you have other existing OS/2 ODBC applications, you will`
`need to manually update the ODBCINST.INI file set in ODBC_PATH`
`to add information about the Client Access/400 ODBC driver.`
`To do this you will need an OS/2 INI file editor.`
`The instructions on how to obtain the OS/2 INI file editor`
`are listed in the previous tip above.`
`Using the INI file editor, add the following to the`
`ODBCINST.INI file:`
`Field name Data`
`---------------------------------`
`Application name: ClientAccess/400`
`Key name: Driver`
`Text: C:|CAOS2|EHNODBC2.DLL`
`Application name: ClientAccess/400`
`Key name: Setup`
`Text: C:|CAOS2|EHNSTP2.DLL`
`Note: The data above must be entered into the ODBCINST.INI`
`file exactly as it appears above. The ClientAcces/400`
`string has no blanks in it and the case of the letters`
`must match.`
Local Fix (internal use)
Problem Summary
Problem Conclusion

Temporary Fix
Comments
`Information APAR`
Circumvention`
`
PTFs Available
Affected Modules
Affected Publications
Summary Information
Status.................................................. CLOSED CAN
Severity................................................ 4
HIPER.................................................. No
PIN........................................................ Yes
Reported Component....................... INFOAS400
Fixed Component...............................
Failing Module...................................``
Reported Release............................`` R310
Reported Release PTF.....................
Latest Release PTF.........................``
FESN.................................................... 5NFO000
Duplicate Of........................................
Security Integrity.................................
IBM disclaims all warranties, whether express or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. By furnishing this document, IBM grants no licenses to any related patents or copyrights. Copyright (c) 1994, 1995, 1996,1997,1998, 1999, 2000, 2001, 2002 IBM Corporation. Any trademarks and product or brand names referenced in this document are the property of their respective owners. Consult your product manuals for complete trademark information.