Re: ODBC driver
Posted in 2005
Topics: Connectivity: ODBC / JDBC / .NET, Versions, Editions & End-of-Life
Art S. Kagel wrote: > Laurie Gustin wrote: > >> I am feeling stupid, but I have been all over the IBM site for two >> days and can't find the latest Informix ODBC driver. Can anyone point >> me in the right direction? > > > You're looking for Informix Connect or Informix SDK for your platform. > The latest release is 2.90. > > However, you may want to stick to release 2.81 unless you are already > running IDS 10.00 exclusively - 2.90 assumes the engine allows ORDER BY > columns that were not selected and sends such queries through where they > fail. Earlier versions would add the missing columns to the end of the > selected column list and strip the data out of the results for you so > that such 'bad' SQL still completed successfully. IDS 9.40 allows ORDER BY on columns that are not selected as well. Surely such queries would fail anyway if your engine doesn't support them whether they were sent through or not? I am not sure I understand your point. Certainly when I used to write SQL statements for 9.30 and previous releases using CSDK 2.81 that contained an ORDER BY that wasn't selected I would get: SQL Error (-309) : ORDER BY column (column1) must be in SELECT list. No automatic fixing was done for me - is this unique to a particular environment? Speaking now from our company point of view, CSDK 2.90 is about 15% faster than 2.80 for OLE DB operations in our tests and there are a few nice bug fixes. So I would err towards the later release. Ben.
Ben Thompson wrote: > Art S. Kagel wrote: > >> Laurie Gustin wrote: >> >>> I am feeling stupid, but I have been all over the IBM site for two >>> days and can't find the latest Informix ODBC driver. Can anyone >>> point me in the right direction? >> >> >> >> You're looking for Informix Connect or Informix SDK for your >> platform. The latest release is 2.90. >> >> However, you may want to stick to release 2.81 unless you are already >> running IDS 10.00 exclusively - 2.90 assumes the engine allows ORDER >> BY columns that were not selected and sends such queries through where >> they fail. Earlier versions would add the missing columns to the end >> of the selected column list and strip the data out of the results for >> you so that such 'bad' SQL still completed successfully. > > > IDS 9.40 allows ORDER BY on columns that are not selected as well. True, I'd forgotten that. So the recommendation is avoid 2.90 for versions earlier than 9.40 if you may be using 3rd party software that's likely to ORDER BY unselected columns. > Surely such queries would fail anyway if your engine doesn't support > them whether they were sent through or not? I am not sure I understand Ahh, my point is this: In earlier iConnect/CSDK versions (before 2.90) if a query was submitted that included an ORDER BY a non-selected column, the driver would modify the query to include the extra ORDER BY column so the query would not fail on older server versions and then just discard the extra data. V2.90 does not do this. Apparently someone assumed that if one were using iConnect/CSDK v2.90 one is also using IDS 9.40 or later which supports such queries natively. Some future release will likely fix this oversight and detect the server version to decide whether to pass the errant query through to the engine or muck with it first, but for now it looks like if you are running 7.xx or 9.3x or earlier you should not use v2.90 > your point. Certainly when I used to write SQL statements for 9.30 and > previous releases using CSDK 2.81 that contained an ORDER BY that wasn't > selected I would get: > SQL Error (-309) : ORDER BY column (column1) must be in SELECT list. > No automatic fixing was done for me - is this unique to a particular > environment? But you would not get that error if it were passed through the Informix ODBC driver for Windows v2.8x included in the iConnect/CSDK for that platform to a 9.30 instance. > Speaking now from our company point of view, CSDK 2.90 is about 15% > faster than 2.80 for OLE DB operations in our tests and there are a few > nice bug fixes. So I would err towards the later release. Right, but you are now using 9.40 which is OK with the pass through. Art S. Kagel > Ben.