MySQL作为SQL Server 2008上的链接服务器-数据长度不匹配

MySQL作为SQL Server 2008上的链接服务器-数据长度不匹配,mysql,sql-server-2008,linked-server,Mysql,Sql Server 2008,Linked Server,我正在尝试在SQLServer2008上设置第三方MySQL作为链接服务器。 当我试图通过下面一个简单的OpenQuery访问数据时,我得到了一个错误 从OpenQuerySERVERNAME中选择*,“从表中选择*” 错误消息: 链接服务器“SERVERNAME”的OLE DB提供程序“MSDASQL”返回的数据与列“[MSDASQL].tablename”的预期数据长度不匹配。最大预期数据长度为X,而返回的数据长度为Y 注:其中X>Y 我尝试了另一个我自己构建的MySQL表,效果很好。因此,

我正在尝试在SQLServer2008上设置第三方MySQL作为链接服务器。 当我试图通过下面一个简单的OpenQuery访问数据时,我得到了一个错误

从OpenQuerySERVERNAME中选择*,“从表中选择*”

错误消息:

链接服务器“SERVERNAME”的OLE DB提供程序“MSDASQL”返回的数据与列“[MSDASQL].tablename”的预期数据长度不匹配。最大预期数据长度为X,而返回的数据长度为Y

注:其中X>Y

我尝试了另一个我自己构建的MySQL表,效果很好。因此,我假设问题可能出在MySQL源代码上

编辑:在深入挖掘MySQL数据之后,我发现了几个无效的日期,比如零日期。这可能是一个原因,但是我无法更改数据源,因此我必须找到一种方法说服SQL忽略它

我回忆起以前SQL版本中的一些内容,在这些版本中,您可以切换到惰性模式验证,以强制SQL不检查这一点。然而,这一选择似乎在2008年消失了


你知道我该怎么做吗?

@G Berdal:你能发布你正在使用的查询吗?是的。很抱歉,有一个输入错误“日期”应该是“数据”:让我们将此移到serverfault!请投票结束。感谢“惰性模式验证”选项仅在企业版SQLServer2008上可用,但它仍然存在。@G Berdal:您能发布您正在使用的查询吗?是的。很抱歉,有一个输入错误“日期”应该是“数据”:让我们将此移到serverfault!请投票结束。感谢惰性模式验证选项仅在SQLServer2008的企业版上可用,但它仍然存在。