Recently I was alerted to the following error that was caused when a legacy application was attempting to use an ODBC connection to connect to a SQL Server.
Login failed for user ''. Reason: An attempt to login using SQL authentication failed. Server is configured for Windows authentication only.
Error: 18456, Severity: 14, State: 58.
The SQL Server was definitely using Mixed Mode Authentication.
The lack of the SQL Login name and incorrect authentication mode being reported implied that the application connection to SQL Server was being interpreted by SQL Server incorrectly.
After a couple of various tests, the solution in this case was to set the ODBC connection for the application to use Named Pipes.