When the Linked Table Manager sees a column name in a SQL Server table with 64 characters, it only uses the first 63 characters of that column name.
After linking, an attempt to view table data will fail, with the message
"ODBC--call failed"
"[Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Invalid column name "'123456789012345678901234567890123456789012345678901234567890123'."
The column name in my table on SQL Server is:
"1234567890123456789012345678901234567890123456789012345678901234"
So Linked Table manager is truncating that for some reason.
There is a 64 character limit for object names.
I cannot find any documentation anywhere saying there is such a limit of 63 characters in ODBC linked tables.
Earlier before installing ODBC v17 (v17.3) driver, I had ODBC v13 and in that I also could not use a column name of 64 characters or more, though I believe I was seeing no error message (can't remember for sure), just that data view showed #NAME or #ERROR
or something like that as the value for data in each column and row.
The version of SQL Server is SQL Server 2017, on Windows 10 Pro. The version of MS Access is from Office 365, (Access Version 1903), and is installed on the same Windows 10 Pro instance as the SQL Server is using. For the Linked Table manager, my
results are the same whether using the Windows Integration authentication as the SQL Server (login) authentication.
Is this known and/or expected behavior?