General Page
IBM i Access Client Solutions - macOS Application Package
============================================================================
IBM i Access Client Solutions - macOS Application Package
IBM i Access Client Solutions - macOS Application Package
5733-XJ1 Version: 1.1.0.28
(c) Copyright IBM Corporation 2024. All rights reserved.
=============================================================================
=============================================================================
NOTICE:
-----------------
This Service Pack is subject to the terms of the license agreement which accompanied, or was contained in, the Program for which you are obtaining the Service Pack. You are not authorized to install or use the Service Pack except as part of a Program for which you have a valid Proof of Entitlement.
SUBJECT TO ANY WARRANTIES WHICH CAN NOT BE EXCLUDED OR EXCEPT AS EXPLICITLY AGREED TO IN THE APPLICABLE LICENSE AGREEMENT OR AN APPLICABLE SUPPORTAGREEMENT, IBM MAKES NO WARRANTIES OR CONDITIONS EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OR CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON INFRINGEMENT, REGARDING THE SERVICE PACK.
The applicable license agreement may have been provided to you in printed form and/or may be viewed using the Work with Software Agreements (WRKSFWAGR) CL command.
-----------------
Table of Contents
-----------------
1.0 INSTALLATION INSTRUCTIONS
1.1 SUPPORTED ENVIRONMENTS
1.2 PREREQUISITES
1.3 INSTALLING
2.0 RECOMMENDATIONS/RESTRICTIONS
2.1 IBM i SERVER FIXES
-----------------
Table of Contents
-----------------
1.0 INSTALLATION INSTRUCTIONS
1.1 SUPPORTED ENVIRONMENTS
1.2 PREREQUISITES
1.3 INSTALLING
2.0 RECOMMENDATIONS/RESTRICTIONS
2.1 IBM i SERVER FIXES
3.0 KNOWN ISSUE (APAR) ABSTRACTS
- SERVICE PACK LEVEL = 1.1.0.28 (May 2024)
- SERVICE PACK LEVEL = 1.1.0.28 (May 2024)
- SERVICE PACK LEVEL = 1.1.0.27 (November 2022)
- SERVICE PACK LEVEL = 1.1.0.26 (May 2022)
- SERVICE PACK LEVEL = 1.1.0.15 (May 2021)
- SERVICE PACK LEVEL = 1.1.0.14 (August 2020)
- SERVICE PACK LEVEL = 1.1.0.13 (July 2020)
4.0 ENHANCEMENTS AND INTERNAL FIXES
- SERVICE PACK LEVEL = 1.1.0.15 (May 2021)
- SERVICE PACK LEVEL = 1.1.0.14 (August 2020)
- SERVICE PACK LEVEL = 1.1.0.13 (July 2020)
4.0 ENHANCEMENTS AND INTERNAL FIXES
- SERVICE PACK LEVEL = 1.1.0.28 (May 2024)
- SERVICE PACK LEVEL = 1.1.0.27 (November 2022)
- SERVICE PACK LEVEL = 1.1.0.26 (May 2022)
- SERVICE PACK LEVEL = 1.1.0.15 (May 2021)
- SERVICE PACK LEVEL = 1.1.0.14 (August 2020)
- SERVICE PACK LEVEL = 1.1.0.13 (July 2020)
- SERVICE PACK LEVEL = 1.1.0.14 (August 2020)
- SERVICE PACK LEVEL = 1.1.0.13 (July 2020)
-----------------------------------------------------------------------------
1.0 INSTALLATION INSTRUCTIONS
------------------------------
------------------------------
1.1 SUPPORTED ENVIRONMENTS
--------------------------
--------------------------
This service pack is supported on all Intel and Apple Silicon Macs running macOS Monterey (12.x) and newer.
1.2 PREREQUISITES
------------------
------------------
The unixODBC driver manager is required for the ODBC driver to function. It can be installed using the Homebrew package manager, available from:
https://brew.sh.
https://brew.sh.
Once Homebrew is installed, unixODBC can then be installed with:
brew install unixodbc
If unixODBC is not installed at the time of installation of this service pack, the installer will not be able to register the driver with unixODBC, however the driver can be manually registered once unixODBC has been installed by running the following command:
/Library/IBMiAccess/register_driver
To use TLS (SSL), the OpenSSL libraries from Homebrew are required. Either OpenSSL 1.1 or 3.0 will work, eg.
brew install openssl@3
1.3 INSTALLING---------------
The service pack includes a standard macOS installer package. It can be installed by double clicking it or using the pkgutil command from the command line. You may get a message when attempting to run the installer that says "[package] can't be opened because it is from an unidentified developer" and the dialog box will only have an "OK" button, preventing the package from being installed. If this occurs, temporarily override the security controls to allow its installation by right-clicking or ctrl-clicking on the installer and choose "Open". This will open the same dialog with the same warning, but now there will be "Open" and "Cancel" buttons instead. By choosing "Open", you can proceed with the installation. In case the above steps do not work, you can find more information from Apple at the following web page:
https://support.apple.com/guide/mac-help/open-a-mac-app-from-an-unidentified-developer-mh40616/mac
https://support.apple.com/guide/mac-help/open-a-mac-app-from-an-unidentified-developer-mh40616/mac
2.0 RECOMMENDATIONS/RESTRICTIONS
---------------------------------
---------------------------------
2.1 IBM i SERVER FIXES
-----------------------
-----------------------
We recommend keeping your IBM i system at the latest Cumulative PTF package, HIPER Group PTF, and latest Database Group PTF. See:
https://www.ibm.com/support/pages/node/667303
3.0 KNOWN ISSUE (APAR) ABSTRACTS
--------------------------------------------------------
This a list of Known Issue (APAR) fixes included in this service pack. Each service pack is cumulative. The current service pack includes all the fixes from the prior service pack levels.
--------------------------------------------------------
This a list of Known Issue (APAR) fixes included in this service pack. Each service pack is cumulative. The current service pack includes all the fixes from the prior service pack levels.
---------------------------------
Version: 1.1.0.28
Build Date = May 2024
---------------------------------
Version: 1.1.0.28
Build Date = May 2024
---------------------------------
Known Issue DT378953 OSP-UNPRED A PHP APPLICATION SETTING ODBC_AUTOCOMMIT
TO FALSE DOES NOT EXHIBIT EXPECTED BEHAVIOR.
Known Issue DT378984 OSP-UNPRED BYTE COUNT IS OFF CAUSING TRANSLATION ISSUES
Known Issue DT378985 OSP ODBC DRIVER MIGHT CRASH 0XC0000005 0X0004DB64
Known Issue DT379008 OSP-INCORROUT ATTEMPT TO CALL A STORED PROCEDURE WHICH
CONTAINS A "SPECIFIC" NAME FAILS WITH RETURN CODE -100
Known Issue DT379010 OSP-UNPRED LINUX ODBC - LIBRARY LIST SHORTENED INTERMITTENTLY
TO FALSE DOES NOT EXHIBIT EXPECTED BEHAVIOR.
Known Issue DT378984 OSP-UNPRED BYTE COUNT IS OFF CAUSING TRANSLATION ISSUES
Known Issue DT378985 OSP ODBC DRIVER MIGHT CRASH 0XC0000005 0X0004DB64
Known Issue DT379008 OSP-INCORROUT ATTEMPT TO CALL A STORED PROCEDURE WHICH
CONTAINS A "SPECIFIC" NAME FAILS WITH RETURN CODE -100
Known Issue DT379010 OSP-UNPRED LINUX ODBC - LIBRARY LIST SHORTENED INTERMITTENTLY
---------------------------------
Version: 1.1.0.27
Build Date = November 2022
---------------------------------
Version: 1.1.0.27
Build Date = November 2022
---------------------------------
APAR SE78044 OSP-INCORROUT ODBC INCORRECT COLUMN LABEL INFORMATION
APAR SE78102 OSP-UNPRED WINAP 1.1.0.26 - MICROSOFT CURSOR ENGINE: DATA
PROVIDER OR OTHER SERVICE RETURNED AN E_FAIL STATUS
APAR SE78694 OSP-UNPRED PASE - ODBC - DBCS - SQL0104 FOR SELECT SQL STATEMENT
APAR SE78102 OSP-UNPRED WINAP 1.1.0.26 - MICROSOFT CURSOR ENGINE: DATA
PROVIDER OR OTHER SERVICE RETURNED AN E_FAIL STATUS
APAR SE78694 OSP-UNPRED PASE - ODBC - DBCS - SQL0104 FOR SELECT SQL STATEMENT
---------------------------------
Version: 1.1.0.26
Build Date = May 2022
---------------------------------
Build Date = May 2022
---------------------------------
APAR SE75879 OSP-INCORROUT SYSTEM KEYWORD NOT RECOGNIZED IN DSN-LESS ODBC
CONNECTION
APAR SE76176 OSP-INCORROUT ODBC - CWBNL0107 FOR SPECIFIC CHARACTERS WITH TARGET
CODE PAGE 1202
APAR SE77094 OSP-THREADS-WAIT PASE ODBC DRIVER DELAY SQLGETINFO
APAR SE75812 OSP-UNPRED MEMORY LEAK IN ODBC DRIVER
CONNECTION
APAR SE76176 OSP-INCORROUT ODBC - CWBNL0107 FOR SPECIFIC CHARACTERS WITH TARGET
CODE PAGE 1202
APAR SE77094 OSP-THREADS-WAIT PASE ODBC DRIVER DELAY SQLGETINFO
APAR SE75812 OSP-UNPRED MEMORY LEAK IN ODBC DRIVER
---------------------------------
Version: 1.1.0.15
Build Date = May 2021
---------------------------------
Build Date = May 2021
---------------------------------
APAR SE75463 OSP ACS WINDOWS AP ODBC {FN CURRENT_DATE()} MIGHT CRASH WITH WHERE
CLAUSE
APAR SE74428 OSP-UNPRED SQLFETCHSCROLL() CAUSES A SEGMENTATION VIOLATION IN
THE ODBC DRIVER.
APAR SE75368 OSP-INCORROUT SQL_NO_DATA / RC=100 MAY BE RETURNED TO
SQLFETCHSCROLL INCORRECTLY IN HIGH UTILIZATION ENVIRONMENTS
CLAUSE
APAR SE74428 OSP-UNPRED SQLFETCHSCROLL() CAUSES A SEGMENTATION VIOLATION IN
THE ODBC DRIVER.
APAR SE75368 OSP-INCORROUT SQL_NO_DATA / RC=100 MAY BE RETURNED TO
SQLFETCHSCROLL INCORRECTLY IN HIGH UTILIZATION ENVIRONMENTS
---------------------------------
Version: 1.1.0.14
Build Date = Aug 2020
---------------------------------
Build Date = Aug 2020
---------------------------------
APAR SE73090 OSP-INCORROUT NOTES ON LINUX USING ODBC CRASHES
APAR SE73347 OSP-INCORROUT ACS LINUX ODBC USING UNICODE SQL STATEMENTS CAN
ENCOUNTER CONVERSION ISSUES RESULTING IN SUBSTITUTION CHARACTER
APAR SE73817 OSP-INCORROUT ONLY 200 ROWS OF DATA ARE FETCHED BY ODBC DRIVER
FOR LINUX
APAR SE73347 OSP-INCORROUT ACS LINUX ODBC USING UNICODE SQL STATEMENTS CAN
ENCOUNTER CONVERSION ISSUES RESULTING IN SUBSTITUTION CHARACTER
APAR SE73817 OSP-INCORROUT ONLY 200 ROWS OF DATA ARE FETCHED BY ODBC DRIVER
FOR LINUX
---------------------------------
Version: 1.1.0.13
Build Date = Jul 2020
---------------------------------
Version: 1.1.0.13
Build Date = Jul 2020
---------------------------------
- Initial release for macOS
APAR SE72337: OSP-INCORROUT LONG COLUMN NAMES TRUNCATED FOR FIRST METADATA
RESPONSE
APAR SE72376: OSP-OTHER-INCORROUT IBM I ACS LINUX APPLICATION PACKAGE 64-BIT
ODBC DRIVER IS NOT CORRECTLY CONVERTING CHAR* TO BIGINT VALUE
RESPONSE
APAR SE72376: OSP-OTHER-INCORROUT IBM I ACS LINUX APPLICATION PACKAGE 64-BIT
ODBC DRIVER IS NOT CORRECTLY CONVERTING CHAR* TO BIGINT VALUE
4.0 ENHANCEMENTS AND INTERNAL FIXES
------------------------------------
This a list of enhancements and internal fixes.
---------------------------------
Version: 1.1.0.28
Build Date = May 2024
---------------------------------
Version: 1.1.0.28
Build Date = May 2024
---------------------------------
No enhancements.
---------------------------------
Version: 1.1.0.27
Build Date = November 2022
---------------------------------
Version: 1.1.0.27
Build Date = November 2022
---------------------------------
- Add TLS (SSL) support using OpenSSL. This requires that the OpenSSL libraries provided by Homebrew are installed, eg openssl@1.1 or openssl@3. OpenSSL versions 3.0 and 1.1.1 are supported, with the most recent version found taking precedence. Unlike with GSkit on Windows, FIPS mode is not supported.
- Add EnableKeepAlive connection string keyword to enable TCP keepalive support as an alternative to using cwbcopwr. Setting to 0 disables keepalives, 1 enables keepalives, and 2 uses the cwbcopwr value (default).
- Add Timeout connection string keyword to set the socket timeout (in seconds) when communicating with the server. This is an alternative to using the SQL_ATTR_CONNECTION_TIMEOUT connection attribute or cwbcopwr.
- Add LoginTimeout connection string keyword to set the connection timeout (in seconds) when initially connecting and logging in to the server. This is an alternative to using the SQL_ATTR_LOGIN_TIMEOUT connection attribute.
- Fix handling of QueryStorageLimit=*NOMAX. Previously, this would get interpreted as if 0 had been specified.
- Add EnableKeepAlive connection string keyword to enable TCP keepalive support as an alternative to using cwbcopwr. Setting to 0 disables keepalives, 1 enables keepalives, and 2 uses the cwbcopwr value (default).
- Add Timeout connection string keyword to set the socket timeout (in seconds) when communicating with the server. This is an alternative to using the SQL_ATTR_CONNECTION_TIMEOUT connection attribute or cwbcopwr.
- Add LoginTimeout connection string keyword to set the connection timeout (in seconds) when initially connecting and logging in to the server. This is an alternative to using the SQL_ATTR_LOGIN_TIMEOUT connection attribute.
- Fix handling of QueryStorageLimit=*NOMAX. Previously, this would get interpreted as if 0 had been specified.
---------------------------------
Version: 1.1.0.26
Build Date = May 2022
---------------------------------
Version: 1.1.0.26
Build Date = May 2022
---------------------------------
- Unify version number with IBM i Access Client Solutions Windows Application
Package
- Add support for IBM i 7.5 PWDLVL 4
- Add support for IBM i 7.5 BOOLEAN SQL data type
- Add support for SQL_ATTR_CONNECTION_TIMEOUT and proper support for SQL_ATTR_LOGIN_TIMEOUT. In addition, cwbcopwr can be used to set send and receive socket timeouts.
- Add cwbcopwr utility
- SQL_DESC_OCTET_LENGTH and SQL_DESC_DISPLAY_LENGTH now take in to account any expansion that might occur due to CCSID conversion. For instance, a CHAR(10) EBCDIC column will now return 20 instead of 10 for the above attributes when the client is in UTF-8 since extended ASCII characters take 2 bytes in UTF-8 but only 1 byte in EBCDIC. This allows retrieving the full column data in PHP's odbc and pdo_odbc extensions, especially on IBM i 7.4 and beyond where the default PASE CCSID is 1208.
- Fix bug on big endian systems where error message text would be blank in some cases
- Fix getaddrinfo error reporting on macOS and PASE systems. These were not being mapped correctly, giving odd error messages. For example:
"rc=8 - CWB0008 - Insufficient personal computer resources" instead of
"rc=11001 - CWBCO1004 - Remote address could not be resolved"
- Allow SQL_ATTR_ROW_ARRAY_SIZE to change after data has been (pre-)fetched.
- Remove duplicate DBCLOB() CCSID 13488 row returned by SQLGetTypeInfo when called with SQL_ALL_TYPES
- Add support for IBM i 7.5 PWDLVL 4
- Add support for IBM i 7.5 BOOLEAN SQL data type
- Add support for SQL_ATTR_CONNECTION_TIMEOUT and proper support for SQL_ATTR_LOGIN_TIMEOUT. In addition, cwbcopwr can be used to set send and receive socket timeouts.
- Add cwbcopwr utility
- SQL_DESC_OCTET_LENGTH and SQL_DESC_DISPLAY_LENGTH now take in to account any expansion that might occur due to CCSID conversion. For instance, a CHAR(10) EBCDIC column will now return 20 instead of 10 for the above attributes when the client is in UTF-8 since extended ASCII characters take 2 bytes in UTF-8 but only 1 byte in EBCDIC. This allows retrieving the full column data in PHP's odbc and pdo_odbc extensions, especially on IBM i 7.4 and beyond where the default PASE CCSID is 1208.
- Fix bug on big endian systems where error message text would be blank in some cases
- Fix getaddrinfo error reporting on macOS and PASE systems. These were not being mapped correctly, giving odd error messages. For example:
"rc=8 - CWB0008 - Insufficient personal computer resources" instead of
"rc=11001 - CWBCO1004 - Remote address could not be resolved"
- Allow SQL_ATTR_ROW_ARRAY_SIZE to change after data has been (pre-)fetched.
- Remove duplicate DBCLOB() CCSID 13488 row returned by SQLGetTypeInfo when called with SQL_ALL_TYPES
---------------------------------
Version: 1.1.0.15
Build Date = May 2021
---------------------------------
Version: 1.1.0.15
Build Date = May 2021
---------------------------------
- Implement the current_date, current_time, current_timestamp, timestampadd, and timestampdiff ODBC scalar function escape sequences. For more details, refer to the following ODBC documents:
https://docs.microsoft.com/en-us/sql/odbc/reference/develop-app/scalar-function-calls
https://docs.microsoft.com/en-us/sql/odbc/reference/appendixes/time-date-and-interval-functions
- Add TrimCharFields connection option to trim trailing blank characters when retrieving CHAR and GRAPHIC fields. Setting this option to 1 will enable trimming, while setting it to 0 (default) will disable trimming.
- Add AlwaysCalculateResultLength connection option. Setting this option to 1 will prevent the driver from returning SQL_NO_TOTAL, while setting it to 0 (default) will allow the driver to return SQL_NO_TOTAL. Some applications do not expect SQL_NO_TOTAL (-4) and treat it as the actual length, causing problems. Note that calculating the actual result length can require repeated character conversion, so for performance reasons it's advised to not enable this feature unless absolutely necessary.
- Add support for Apple Silicon Macs
- Prevent the driver from breaking after macOS updates by moving conversion tables from /Library/Caches/IBMiAccess to /Library/IBMiAccess/conv_tables.
https://docs.microsoft.com/en-us/sql/odbc/reference/develop-app/scalar-function-calls
https://docs.microsoft.com/en-us/sql/odbc/reference/appendixes/time-date-and-interval-functions
- Add TrimCharFields connection option to trim trailing blank characters when retrieving CHAR and GRAPHIC fields. Setting this option to 1 will enable trimming, while setting it to 0 (default) will disable trimming.
- Add AlwaysCalculateResultLength connection option. Setting this option to 1 will prevent the driver from returning SQL_NO_TOTAL, while setting it to 0 (default) will allow the driver to return SQL_NO_TOTAL. Some applications do not expect SQL_NO_TOTAL (-4) and treat it as the actual length, causing problems. Note that calculating the actual result length can require repeated character conversion, so for performance reasons it's advised to not enable this feature unless absolutely necessary.
- Add support for Apple Silicon Macs
- Prevent the driver from breaking after macOS updates by moving conversion tables from /Library/Caches/IBMiAccess to /Library/IBMiAccess/conv_tables.
---------------------------------
Version: 1.1.0.14
Build Date = Aug 2020
---------------------------------
Version: 1.1.0.14
Build Date = Aug 2020
---------------------------------
- Better handling of surrogate pairs in UTF-16 when converting to and from UTF-8 or UTF-32.
- Send SQL text in UTF-16 instead of UCS-2 when UnicodeSQL is 1 or 2
- Improve ODBC error reporting when server messages contain embedded NUL bytes.
This should result in fewer "Error message text unavailable" messages.
- Allow setting SQL_ATTR_TXN_ISOLATION to 0 for COMMIT(*NONE). Some driver managers restrict the values to those defined by ODBC. In that case, a custom driver attribute CWB_ATTR_TXN_ISOLATION (2139) can be used which functions identically to SQL_ATTR_TXN_ISOLATION and bypasses the restriction.
- Support for using ODBC escape sequences in connection strings. The primary benefit is for passwords which contain any of the special characters '"', '=', and ';'. Wrap any value in curly braces "{}" to embed special characters. A '}' can be doubled inside an open escape sequence to escape it.
- Fix driver identification on POWER. This should now give ppc, ppc64, and ppc64le correctly depending on the platform. Previously it always gave ppc.
- Fix possible crash when fetching an output parameter from a stored procedure and tracing is enabled.
- Added cwbmedic script to gather diagnostic material for support personnel.
- Send SQL text in UTF-16 instead of UCS-2 when UnicodeSQL is 1 or 2
- Improve ODBC error reporting when server messages contain embedded NUL bytes.
This should result in fewer "Error message text unavailable" messages.
- Allow setting SQL_ATTR_TXN_ISOLATION to 0 for COMMIT(*NONE). Some driver managers restrict the values to those defined by ODBC. In that case, a custom driver attribute CWB_ATTR_TXN_ISOLATION (2139) can be used which functions identically to SQL_ATTR_TXN_ISOLATION and bypasses the restriction.
- Support for using ODBC escape sequences in connection strings. The primary benefit is for passwords which contain any of the special characters '"', '=', and ';'. Wrap any value in curly braces "{}" to embed special characters. A '}' can be doubled inside an open escape sequence to escape it.
- Fix driver identification on POWER. This should now give ppc, ppc64, and ppc64le correctly depending on the platform. Previously it always gave ppc.
- Fix possible crash when fetching an output parameter from a stored procedure and tracing is enabled.
- Added cwbmedic script to gather diagnostic material for support personnel.
---------------------------------
Version: 1.1.0.13
Build Date = Jul 2020
---------------------------------
Version: 1.1.0.13
Build Date = Jul 2020
---------------------------------
- Initial release for macOS
- Fix a bug in fetch processing that could cause a call to SQLFetch, SQLFetchScroll, or SQLExtendedFetch after a forward-only cursor had reached the end of data in a previous fetch call to return the last rowset of data again instead of returning SQL_NO_DATA. In some cases, this could result in another fetch call being made to the server, resulting in an error.
-----------------------------------------------------------------------------
[END OF DOCUMENT]
[END OF DOCUMENT]
[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSB2FY","label":"IBM i Access Family"},"Component":"","Platform":[{"code":"PF012","label":"IBM i"}],"Version":"All Versions","Edition":"","Line of Business":{"code":"LOB57","label":"Power"}}]
Was this topic helpful?
Document Information
Modified date:
23 May 2024
UID
ibm16435243