2016-10-24 94 views
0

嘗試使用bluefinity工具使用mv.NET。使用它創建了一些集成包,用於將數據從d3多值數據庫導入到MS SQL 2012中,但似乎在映射時遇到了一些麻煩。將多值D3數據庫中的數據導入SQL問題

對於航程表必須在D3應用一些commentX字段的行爲是很笨拙,以下消息

>Error: 0xC0047062 at INSERT, mvNET Source[354]: System.Exception: Error @8: dataReader[0] = LTPAC002 ci.BufferColumnIndex = 52, ci.ColumnName = COMMGROUP(Error @8: dataReader[0] = LTPAC002 ci.BufferColumnIndex = 52, ci.ColumnName = COMMGROUP(The value is too large to fit in the column data area of the buffer.)) 
at mvNETDataSource.mvNETSource.PrimeOutput(Int32 outputs, Int32[] outputIDs, PipelineBuffer[] buffers) 
at Microsoft.SqlServer.Dts.Pipeline.ManagedComponentHost.HostPrimeOutput(IDTSManagedComponentWrapper100 wrapper, Int32 outputs, Int32[] outputIDs, IDTSBuffer100[] buffers, IntPtr ppBufferWirePacket) 
Error: 0xC0047038 at INSERT, SSIS.Pipeline: SSIS Error Code DTS_E_PRIMEOUTPUTFAILED.The PrimeOutput method on mvNET Source returned error code 0x80131500.The component returned a failure code when the pipeline engine called PrimeOutput().The meaning of the failure code is defined by the component, but the error is fatal and the pipeline stopped executing.There may be error messages posted before this with more information about the failure. 

值過大,以適應在一定的行數後的INSERT失敗緩衝區的列數據區。 - >嘗試改變輸入/輸出類型,但似乎無法做到正確。 在SQL表中,列的類型爲ntext。 在.dtsx作業中,列的數據類型的類型是Unicode String [DT_WSTR],長度爲4000,我猜這些是自動檢測的。

這樣的其他D3文件的導入工作不知道爲什麼這些評論字段失敗。

在240秒後在mv.NET Data Manager上運行查詢(在d3服務器上)超時,所以這可能是潛在的問題?

任何想法如何進行?謝謝〜

+0

您使用哪個(目標)DBMS? (「SQL」是所有關係數據庫管理系統使用的查詢語言 - 因此每個關係數據庫都是一個「SQL數據庫」)請編輯你的問題併爲'VOYAGES'添加'create table'語句[** Formatted ** ](http://stackoverflow.com/editing-help#code)文本請[無屏幕截圖](http://meta.stackoverflow.com/questions/285551/why-may-i-not-upload-images代碼的時候,問一個問題/ 285557#285557) –

回答

0

最喜歡的原因是列COMMGROUP沒有正確的數據類型或源中的某些記錄不適合輸出類型 查找錯誤記錄(導致)你必須使用重定向行(組件失敗的屬性組件),並在一些txt.csv /或tsv文件中獲取結果集。 然後檢查數據

+0

你好,這是我正在嘗試,但不能得到它的權利,增加了一個輸出,但沒有從組件寫入。添加了一個截圖,你可以看到它添加了一些記錄,它到達了這個RUPDA515記錄,並且在這裏失敗了......我試圖查看這個記錄的評論數據,但沒有什麼突出的。 [屏幕快照](HTTP:// PRNT。sc/cz55lr) –

+0

除了超過4200的長度或者組件不喜歡的某些字符? –

+0

這將導致erreror ... –

0

從mv.NET拋出異常,所以我建議您致電(或要求您的經銷商)致電Bluefinity支持並詢問有關此問題。你正在爲支持付費,不妨使用它。這些程序不應該被允許拋出這樣的例外。

D3不輸出Unicode,這可能是一個問題。但是如果數據管理器超時,那麼我懷疑到D3的連通性有問題。從會話監視器打開連接監視器,並在發出請求時觀察連接。我猜它可能是懸掛的,或者更可能是屬於BASIC Debug。

確保所有與此相關的D3程序都是全部Flash編譯的,或者全部不閃存。如果您的應用程序代碼不閃存,但MVNET.BP爲,則您的應用程序代碼將落入Debug中。

如果你的程序在Debug中,修復它。如果您不確定它是哪個程序,請在DM中輸入LIST-RUNTIME-ERRORS。

如果這是一個MVNET.BP程序,再次與Bluefinity合作。如果您使用MVSP進行連接,那麼連接監視器可能無用,您需要將其更改爲IP(Telnet)連接以查看原始數據交換。

+0

你好,它似乎不是連接問題,但可能只是一些大數據?例如,一個記錄具有超過4200個字符的字段,插入在此記錄上中斷。與bluefinity的支持聯繫,他們說應該嘗試創建一個假名字典項目,截斷4000個字符的數據。數據管理器中是否有此選項?無法在mv.NET Data Manager的維護字典界面中找到。 –

+0

檢查您的服務器配置文件的超時時間,等待的最大秒數。 4200個字符並不多,但是在這種大小下的一千條記錄可能需要超過默認的超時秒數。也串聯到mv.NET連接端口,看看你進行連接時有什麼。它是否陷入調試?會話在查詢完成並返回數據之前是否超時? 順便說一句,你不會得到任何不知道D3和mv.NET的人的幫助。這超出了SSIS和SQL。 – TonyG