奇怪的'returned data that does not match expected data length for column'错误,而预期的长度要大得多 - SQL SERVER 2



在我的项目中,我正在将Access数据库重建为SQL数据库。为此,我将访问数据传输到SQL数据库。我确保它们具有相同的结构,并且在SQL数据库中正确修改了Access字段。

对于大多数数据来说,这是有效的。除了一张桌子。这个表给了我以下奇怪的错误信息:

OLE DB provider 'Microsoft.ACE.OLEDB.12.0' for linked server 'OPS_JMD_UPDATE' returned data that does not match expected data length for column '[OPS_JMD_UPDATE]...[OrderStatus].Omschrijving'. The (maximum) expected data length is 100, while the returned data length is 21.

所以这里有一些关于Access和SQL字段/列的更多信息:

  • 访问类型:短文本
  • SQL类型:nvarchar(MAX)
  • 访问其中的列数据:普通字母和&-%é+CCD_ 7,CCD_
  • 一些空的Access记录(这是允许的)
  • Access表中总共有135314条记录

Iv将SQL数据类型设置为nvarchar(MAX),这样字段就永远不会太小,但这似乎没有帮助。。

*OPS_JMD_UPDATE是链接的Access数据库

是什么导致了这个问题?是因为某些字符不被允许还是。。?

有1条记录生成了错误。我用TOP select和DESC select固定了确切的记录,然后用select ascii replace消除了错误!感谢xQbert解决了问题,再次感谢!

最新更新