DOCUMENT:Q120045 27-JUL-2001 [odbc] TITLE :BUG: Value of cbDSN in SQLConnect is Not Mapped Correctly PRODUCT :Open Database Connectivity (ODBC) PROD/VER:WINDOWS:2.0 OPER/SYS: KEYWORDS:kbBug kbISS ====================================================================== ------------------------------------------------------------------------------- The information in this article applies to: - Microsoft Open Database Connectivity, version 2.0 ------------------------------------------------------------------------------- BUG# ODBCSDK2: 2693 (2.0) SYMPTOMS ======== When connecting from a 16-bit application to a certain 32-bit driver in a Microsoft Windows NT environment, you may receive an error from the driver about incorrect parameter or argument value. This does not happen when SQLConnect is called from a 32-bit application to a 32-bit driver or from a 16-bit application to a 16-bit driver. For example, assume that the datasource name is "DsnName" with cbDSN=8. Then, the following calls show the behavior: //Allocate environment handle SQLAllocEnv(phenv); //Allocate connection handle SQLAllocConnect(henv,phdbc); //Specify szDSN="DsnName" and cbDSN= length of ("DsnName")=8 SQLConnect(hdbc,"DsnName",8,szUID,cbUID,szAuthStr,cbAuthStr); In looking at the ODBC trace using 32-bit ODBC Spy, you will find that the value of cbDSN passed is not 8, but a large number (0x3a43). CAUSE ===== When connecting from a 16-bit application to a 32-bit driver, the value of cbDSN in SQLConnect is not correctly passed and is mapped to a large value. However, the values of cbUID and cbAuthStr are passed correctly. STATUS ====== Microsoft has confirmed this to be a problem in ODBC Driver Manager version 2.0. We are researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available. Additional query words: ODBC MSVC DM invalid 14915 ====================================================================== Keywords : kbBug kbISS Technology : kbAudDeveloper kbODBCSearch kbODBC200 Version : WINDOWS:2.0 Issue type : kbbug ============================================================================= THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY. Copyright Microsoft Corporation 2001.