top of page

ODBC INSERT on linked SQL Server tables in Access Fails (Fixed)

Updated: Apr 28

Description

In version 2604 Build 19929.20090, an attempt to insert text into nvarchar(max) fields in linked SQL Server tables (Long Text fields in Access) fails with an error message similar to this:




Status (updated)

The Microsoft Access team stated today, April 28th, that the bug is fixed now. You will need to restart Access to get the fix. It may take some time for the fix to propagate. If you restart and still experience the problem, please let us know in the comments along with which ODBC driver you're using.


If you've been impacted by this bug, and can confirm it is now fixed, please let us know in the comments.


Also, it's still important to know if you experienced this bug with ODBC Driver 17. Let us know in the comments so we can inform Microsoft.


Workaround 1

Use a modern driver, ODBC Driver 18 for SQL Server.


Workaround 2

You can set the following registry key

 

HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Common\ExperimentEcs\Overrides\Microsoft.Office.Access.UseOutputInsertedForOdbcIdentity = "false"


Note: The registry key should look like this if you decide to add it.


Workaround 3

A temporary remedy is to roll back to version 2603 of Office/Access in which the problem does not occur.


Workaround 4

Because the issue is only on inserting the record, not editing, you can add a save prior to inserting a value in a Long Text field, then update the Long Text field. No organizational change is needed.

(Thanks to Scott Kirk for this insight.)


If you encounter a variation of this problem, especially if you can confirm the issue occurs with ODBC Driver 17 for SQL Server, feel free to describe your specific issue in a comment on this article so that we can inform Microsoft about it.


It's been pointed out that Access also maps nvarchar() fields of 256-4000 length as Long Text. Please let us know if you can confirm this bug impacts those fields as well as fields which are nvarchar(Max).

14 Comments


Heinrich Moser
Heinrich Moser
May 04

A big THANK YOU from my side as well. Fortunately, not have many of our customers were affected (since most heed our recommendation to avoid the Current Channel), but for those who were, the Registry patch worked flawlessly.


Now that the bug has been fixed, does Microsoft recommend to revert the Registry workaround, or can it stay (because that experiment ID won't be reused anyways)?

Like
Replying to

Hi Heinrich, I've forwarded your question to the Access team: The ID will not be reused, so there should be no harm if it remains. Nevertheless, they recommend reverting the registry workaround, as there's no reason to leave unnecessary values in the registry.

Like

Daniel K
Daniel K
Apr 28

Workaround 2 (registry key) works fine for us and our customers!

THANKS A LOT!


(EDIT @ April 29 2026 10:41: Added test results with'ODBC Driver 18 for SQL Server', some accentuation and other varchar-types)


I may contribute some additional information:


- like mentioned, the error occurs only if some of these datatypes are inherit to the linked table AND data is set in one of those fields directly at INSERT:

varchar(max)/nvarchar(max) or varchar(256 to 4000)/nvarchar(256 to 4000) or text/ntext


- the error occurs only by using ODBC Driver 'SQL Server'. If using 'ODBC Driver 17 for SQL Server' or 'ODBC Driver 18 for SQL Server' it does NOT occur in my (!) environment


- the error occurs only by adding…


Edited
Like
tmuller
Apr 28
Replying to

Good point. I have been using 17 and do not experience the bug in my environment. Others in my organization have different environments, so we shall see.

Like

tmuller
Apr 27

Thank you, George. A few of our users started experiencing this on Thursday and now we have some solutions. Our IT department is having trouble installing 18 on our computers, getting this error. They are working on it, but any insights would be appreciated. Thank you.


Edited
Like
tom.wickerath
Apr 29
Replying to

You’re welcome!

Like

Scott Kirk
Scott Kirk
Apr 24

Thanks. Please keep up posted with any updates.


We did find a work around. The issue is only on inserting the record, not editing. We have added a save prior to hitting a long text field to get around it. Not ideal but doesn't require rolling updates or changing odbc.

Like
bottom of page