Clearly the two versions are behaving differently in their use of the datasource. v8.5 is using SQLDriverConnect, while the later versions are using SQLConnect. These two API calls are not identical.
The SQLDriverConnect parameter that is supposed to have the full connection string does not appear to have all the information (datasource name, user name, and password) in it, so that is why the datasource is prompting for these things.
However, it also seems clear that the SQLConnect is not passing these things either. Note this:
Code:
crw32 9d0-eb0 ENTER SQLSetConnectAttrW
SQLHDBC 05AF15E8
SQLINTEGER 111 <SQL_ATTR_QUIET_MODE>
SQLPOINTER 00000000
SQLINTEGER -3
The effect of this call is to tell the datasource not to display any dialog boxes (due to the passing of a null pointer). v8.5 doesn't do this, because it is using SQLDriverConnect and SQL_QUIET_MODE does not apply to SQLDriverConnect.
Also, you noted the following:
Code:
DIAG [01000] [Microsoft][ODBC Driver Manager] The driver doesn't support the version of ODBC behavior that the application requested (see SQLSetEnvAttr).
This is normal. ODBc is a negotiated interface between the client and the datasource, and this is part of the negotiation.
So, not being a CR expert, I am unable to tell you how to get v8.5 to behave like its younger sibling. I would poke around anything that has to do with 'connection options' or 'connection parameters'.
Tom Morrison