Microsoft fixes Windows database connections it broke in November
January Patch Tuesday update resolves issue caused by Patch Tuesday update late in '22
Included in the usual tsunami of fixes Microsoft issued this week as part of Patch Tuesday was one that took care of a connectivity problem for applications using the Open Database Connectivity (ODBC) interface.
The ODBC problem was one of several stemming from the November Patch Tuesday updates that Microsoft had to address.
The software giant last month said that a Windows update included in the November fixes could cause issues for apps using the Microsoft ODBC SQL Server Driver that led to attempts to access databases resulting in an error message when the connection failed.
The issue affected users who installed the November updates and impacted a range of operating systems, from Windows 7 SP1 and Windows 8.1 through various versions of Windows 10 and the latest Windows 11 version, 22H2.
In addition, multiple Windows Server OSes were affected, including versions 2008, 2012, 2016, 2019, and 2022.
Microsoft said it fixed the issue with the KB5022303 update it released on Tuesday.
The vendor warned in early December that after installing KB5019980, applications that used the Microsoft ODBC SQL Server Driver (sqlsrv32.dll) saw their ODBC connections to databases fail.
The user would see an error in the app itself or receive an error from SQL Server that said: "The EMS System encountered a problem" with "Message: [Microsoft][ODBC SQL Server Driver] Protocol error in TDS Stream" or "Message: [Microsoft][ODBC SQL Server Driver] Unknown token received from SQL Server."
- Microsoft to move some Teams features to more costly 'Premium' edition
- Microsoft may be counting out $10 billion to inject into OpenAI
- Microsoft boosts Azure networking, storage with composable infra grab
- This is the end, Windows 7 and 8 friends: Microsoft drops support this week
In addition, apps failed to fetch data when running such tasks as the SQLFetch feature, either when calling the SQLBindCol function before SQLFetch or calling SQLGetData feature after SQLFetch.
The problem also could arise "when a value of 0 (zero) is given for the 'BufferLength' argument for fixed datatypes larger than 4 bytes (such as SQL_C_FLOAT)," Microsoft wrote in the Windows Health Dashboard.
ODBC is a call-level interface used to enable applications to access data from databases that use an ODBC driver, according to Microsoft. The interface includes an API that enables developers to build database applications that are independent of the source database management system.
Microsoft earlier created a workaround for the problem, calling for developers who already use the Data Source Name (DSN) function to select ODBC connections to install the company's ODBC Driver 17 for SQL Server and selecting it to be used with the app using DSN.
The company said the latest version of the ODBC Driver 17 for SQL Server is more compatible with apps using the legacy ODBC SQL Server Driver than version 18.
Microsoft also said that for users who implemented the workaround, it recommended they "continue using the configuration in the workaround." ®