WinSQL » Knowledge base
Document information
Document ID: | 5125 |
---|
Subject: | IBM Informix Driver crashes when calling SQLGetInfo method |
---|
Creation date: | 6/16/17 7:04 AM |
---|
Last modified on: | 12/14/18 11:48 AM |
---|
WinSQL 10 Crashes when connecting Informix
Problem
WinSQL 10 crashes when using it with IBM Informix ODBC Driver. This can be reproduced by using
WinSQL 10.0.x.x and
IBM Informix Driver version 4.10.TC2DE
Causes
Since both WinSQL and the DLL for the ODBC driver are loaded in the same memory space, a bug/crash in the ODBC
driver will appear as if the front-end application (WinSQL in this case) is crashing.
The actual error occurs when WinSQL calls the
SQLGetInfo()
method in the ODBC DLL with
SQL_KEYWORDS
as a parameter.
Click here for a small video demonstrating this behavior. This video uses
an ODBC driver testing utility which comes with Microsoft ODBC SDK.
Workarounds
There are a few workarounds:
- SkipKeywords.txt - Open WinSQL and do not connect to any database. Click Open Data Folder under File
menu. This will open WinSQL's Data Folder. Create a new text file called
SkipKeywords.txt
. Ensure
the file name is SkipKeywords.txt
and not SkipKeywords.txt.txt
, which commonly occurs when
known file extensions are hidden in Windows File Explorer.
- Different Driver - Use the WinSQL Informix WireProtocol Driver instead of using IBM's Driver. This driver is included with
WinSQL Standard and Professional. You will not be able to use this with WinSQL Lite
- Upgrade to a newer build of the ODBC driver -
Refer to this link on IBM's website.
Please note that we have not tested a newer version of the driver and therefore, cannot confirm if the problem is fixed.
Moreover, this link suggests the problem was fixed in July, 2014 in version
3.70.xC8
.
Our test was done using 4.10.TC2DE
, which has an older date (August, 2013).
Add a comment to this document
Do you have a helpful tip related to this document that you'd like to share
with other users?
Important: This area is reserved for useful tips. Therefore, do not post any questions here. Instead, use our
public forums to post questions.