PRB: ODBC Call Failed or Error 3146 (160762)



The information in this article applies to:

  • Microsoft SQL Server 4.2x
  • Microsoft SQL Server 6.0
  • Microsoft SQL Server 6.5

This article was previously published under Q160762

SYMPTOMS

If ODBC 2.x drivers pass function calls to the ODBC 1.x Driver Manager, you may receive the following errors from any 16-bit application that uses ODBC on a Windows 16-bit environment (such as Windows for Workgroups 3.11 or Windows 3.1).
ODBC Call Failed

-or-

3146 error - driver doesn't support the function

CAUSE

Early versions of the ODBC Driver Manager (1.x) were placed in the Windows directory on 16-bit Windows platforms, while subsequent versions of the ODBC Driver Manager (2.x and above) were placed in the Windows\System directory. The best way to determine if you are encountering the problem is to search the computer for the Odbc.dll file, and verify the version in File Manager. You can do this by clicking on the file and then clicking Properties on the File menu. If the first possible Odbc.dll file in the path is the ODBC 1.x Driver Manager, you are most likely encountering the problem.

WORKAROUND

To work around this problem, remove the ODBC 1.x Driver Manager (Odbc.dll) from the path and/or place the ODBC 2.x Driver Manager (Odbc.dll) in the path first.

MORE INFORMATION

The following portion of an ODBC Spy trace was obtained from an instance in which the error reported was "ODBC Call Failed" from Access (the SQLSetParam was replaced in ODBC 2.0 with SQLBindParameter):

   SQLSetParam
      0x01010009
      1
      SQL_C_DEFAULT
      SQL_VARCHAR
      11
      0
      0x6E16774D
      0x6A16774D
      SQL_ERROR
   SQLError
      NULL
      NULL
      0x01010009
      [5]IM001
      -8190
      [54][SYWARE][ODBCSPY]Driver does not support this function
      511
      54
      SQL_SUCCESS
   SQLError
      NULL
      NULL
      0x01010009
      [5]00000
      -8190
      [0]
      511
      0
      SQL_NO_DATA_FOUND.
				

Modification Type:MajorLast Reviewed:11/17/2003
Keywords:kbenv kbinterop kbprb kbsetup kbusage KB160762