Powerbuilder 2019 R2 Build 2353
Database: Informix 12.10.FC13 running on Linux server
Informix client: 4.10.TC14 (32 bit) and 4.10.FC12W1 (64 bit)
PB App and Informix Client running on Windows 2008 Server R2 (Service Pack 1)
2 part question:
1. Does anyone have any advice about switching from the native PB Informix driver I10 INFORMIX-10.0 to using ODBC to connect? Any pitfalls, things to look out for, settings that are important or different between the two? We've been using the native PB Informix driver for 20 years and are contemplating switching because we cannot get PB to work properly with the latest releases of the Informix Client software. Not a lot of ODBC experience in our shop and we're hoping the switch will be relatively painless if we have to do it.
It turns out that ODBC driver sees Informix booleans as either a '1' or a '0', not as a 't' or 'f' as does PB's native driver, so it looks like ODBC is not an option for us as it would require code changes.
If anyone else is still using Informix and Powerbuilder together and using the native PB driver, have you experienced any problems upgrading to never versions of the Informix client, specifically issues with boolean data types in Informix? If so, how did you resolve those issues?
I posted this issue late last year and worked with PB support on it but was not able to find a resolution on our end. The problem is that Powerbuilder sees the Informix boolean as a char(1), a 't' or an 'f'. PB and the older Informix client software did this translation seamlessly whereas with newer versions of the client we get strange/garbled data back for booleans and any columns that come after them in the result set. Connecting PB apps through ODBC doesn't produce the garbled data in the result set and behaves the same way regardless of Informix client (it returns '1' or '0' instead of 't' or 'f'). Our .Net apps work fine through an OleDB connection, so it doesn't seem to be a general problem with the Informix client software. We've tried setting things like db_locale, client_locale, different versions of the client software, all to no avail when connecting using the native PB Informix driver.
Any suggestions or info anyone can provide will be greatly appreciated.
We did some additional research and testing and found that an older version of the Informix client, 4.10.TC2, does work properly with booleans and allows us to implement TLS 1.2. That is our current workaround until PB Support can come up with a resolution that allows use of the latest Informix client.