2014-09-24 21 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

相關問題