2014-09-24 25 views
0

我们使用Simba Mongo ODBC驱动程序连接到Mongo数据库并进行sql查询。我使用isql测试了Linux上的连接,并能够执行查询。Simba Mongo ODBC驱动程序:返回的数据与预期数据长度不匹配

当我的客户试图通过Microsoft SQL Server管理Studio连接到蒙戈他收到以下错误:

OLE DB provider 'MSDASQL' for linked server 'mongo' returned data that does not match 
expected data length for column '[MSDASQL].contributorComposite__0__biographicalNote'. 
The (maximum) expected data length is 255, while the returned data length is 290. 

我从来没有与此应用程序的工作。你有什么想法,我可以控制预期的数据长度?

回答

3

链接服务器对元数据和返回的数据非常挑剔,如果您定义的元数据与使用其他应用程序时使用的元数据不匹配,那么一般情况下,您可能会遇到问题。

在这种情况下发生的情况是您正在使用定义的字符串列检索数据。字符串列中的数据长度为290,但驱动程序报告的长度为255.这是因为MongoDB不返回有关任何特定字段长度的元数据,因为它是无模式数据源。驱动程序改为使用默认值报告字符串列的长度,默认情况下它被设置为255.您可以通过打开DSN的配置对话框,转到高级选项并将标准字符串列长度从255更改为一些更大的东西,比如512.这应该允许链接服务器正常运行,除非你的数据超过了512字节,在这种情况下,你应该简单地将其调整到更大的适当值。

+0

谢谢。它确实解决了“返回的数据与预期数据长度不符”的问题。但是现在我又收到了一条错误消息“请求的转换不受支持”。我想这是另一个话题的主题。 – Tamara 2014-09-24 22:38:34

+0

Hi Tamara,如果您直接联系solutions @ simba.com,他们应该能够帮助您快速解决任何其他问题,包括您遇到的新问题。 – KylePorter 2014-09-25 23:48:01

+0

对于其他人来说,链接服务器在通过ODBC数据源时有8000个字符的限制,如果您的数据超过了此限制,则必须重构查询以解决此问题。 – KylePorter 2016-05-16 16:15:21

相关问题