Troubleshooting
Problem
In Designer, when testing a connection to a DB2 database within the ODBC connector, the following error occurred. ODBC function "SQL Connect" reported: SQLSTATE = HY000: Natvie Error Code = 8,339: Msg = [IBM(DataDirect OEM)][ODBC DB2 Wire Protocol driver]Specified security mechanism, (Unknown), is not supported by server.
Diagnosing The Problem
In the DataDirect ODBC User's Guide:
AuthenticationMethod (AM)
Description
Specifies the method the driver uses to authenticate the user to the server when a connection is established. If the specified authentication method is not supported by the database server, the connection fails and the driver generates an error.
Valid Values
0 | 1 | 2 | 3 | 4 | 7 | 8
- If set to 0 (No Encryption), the driver sends the user ID and password in clear text to the server for authentication.
- If set to 1 (Encrypt Password), the driver sends the user ID in clear text and an encrypted password to the server for authentication.
- If set to 2 (Encrypt UID and Password), the driver sends an encrypted user ID and password to the server for authentication.
- If set to 3 (Client Authentication), the driver uses client authentication when establishing a connection. The database server relies on the client to authenticate the user and does not provide additional authentication.
- If set to 4 (Kerberos Authentication), the driver uses Kerberos authentication. This method supports both Windows Active Directory Kerberos and MIT Kerberos environments.
- If set to 7 (Encrypted Password AES), the driver encrypts the password with 256-bit AES encryption in the connection request. (DB2 V9.7 and higher only.)
- If set to 8 (Encrypted UID and Password AES), the driver encrypts the user id and password with 256-bit AES encryption in the connection request. (DB2 V9.7 and higher only.)
NOTE: The use of AES encryption (values 7 and 8) requires that the DataDirect OpenSSL library be installed.
Default
0 (No Encryption)
Resolving The Problem
To resolve the issue, follow the steps below.
Check to see what Database manager authentication is set to:
- As the DB2 instance owner, issue the command, db2 get dbm cfg
- Check the entry, Database manager authentication (AUTHENTICATION) to see what it is set to (for example, SERVER_ENCRYPT, SERVER, KERBEROS etc)
Edit the .odbc.ini file:
- Change directory to /InformationServer/Server/DSEngine and edit the .odbc.ini file
- Locate the data source that is being used in the job
- Add the parameter, AuthenticationMethod to the bottom of the data source name.
If DB2 is using Database manager authentication (AUTHENTICATION) = SERVER_ENCRYPT, set the parameter, AuthenticationMethod=2
If DB2 is using Database manager authentication (AUTHENTICATION) = SERVER, please set parameter AuthenticationMethod=1
Bind the data source:
- Change directory to /InformationServer/Server/DSEngine and source the dsenv file (ie. . ./dsenv)
- Change directory to /IBM/InformationServer/Server/branded_odbc/bin directory
- As the DB2 instance owner, run the command:
./bind25 <data source name> - Retry the connection to the database
Related Information
Was this topic helpful?
Document Information
Modified date:
16 June 2018
UID
swg21641494