0

Trying to use the mv.NET by bluefinity tools. Made some integration packages with it for importing data from a d3 multi-value database into MS SQL 2012 but seem to be having some trouble with the mapping.

For the VOYAGES table have some commentX fields in the D3 application that are acting quite unwieldy and the INSERT fails after a certain number of rows with the following message

>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.

The value is too large to fit in the column data area of the buffer. -> tried changing the input / outputs types but can't seem to get it right. In the SQL table the columns are of type ntext. In the .dtsx job the data type for the columns are of type Unicode String [DT_WSTR] with length 4000 , I guess these are auto-detected.

The import worked for other D3 files like this not sure why it fails for these comment fields.

Running the query on the mv.NET Data Manager ( on the d3 server) times out after 240 seconds so maybe this is the underlying issue?

Any ideas how to proceed? Thank you ~

C.Astraea
  • 185
  • 4
  • 16
  • Which (target) DBMS are you using? ("SQL" is a query language used by all relational DBMS - so every relational database is a "SQL database") And please [edit] your question and add the `create table` statement for `VOYAGES` [**Formatted**](http://stackoverflow.com/editing-help#code) text please, [no screen shots](http://meta.stackoverflow.com/questions/285551/why-may-i-not-upload-images-of-code-on-so-when-asking-a-question/285557#285557) –  Oct 24 '16 at 11:12

2 Answers2

0

Most like reason is column COMMGROUP does not have correct data type or some record in source do not fit in output type To find error record (causing) you have to use on redirect row (property of component failing component ) and get the result set in some txt.csv /or tsv file . then check data

sandeep rawat
  • 4,797
  • 1
  • 18
  • 36
  • Hello , this is what I'm trying but can't get it right , added an output but nothing getting written from the components. Added a screenshot , you can see it's adding some records it reaches this RUPDA515 record and something fails here... I tried to look at the comment data for this record but nothing stands out. [SCREENSHOT](http://prnt.sc/cz55lr) – C.Astraea Oct 26 '16 at 11:46
  • Except for the lenght that exceeds 4200 or maybe some characters the component doesn't like ? – C.Astraea Oct 26 '16 at 12:07
0

The exception is being thrown from mv.NET so I suggest you call (or ask your reseller) to call Bluefinity support and ask them about this. You're paying for support, might as well use it. Those programs shouldn't be allowed to throw exceptions like that.

D3 doesn't export Unicode, that might be one issue. But if the Data Manager times-out then I suspect something is wrong in the connectivity into D3. Open a Connection Monitor from the Session Monitor and watch the connection when you make the request. I'm guessing it's either hanging or more probably it's falling into BASIC Debug.

Make sure all D3-side programs related to this are either all Flash-compiled, or all Not Flashed. Your app code will fall into Debug if it's not Flashed but MVNET.BP is.

If it's your program that's in Debug, fix it. If you're not sure which program it is, LIST-RUNTIME-ERRORS in DM.

If it's a MVNET.BP program, again work with Bluefinity. If you are using MVSP for connectivity then the Connection Monitor may be useless, you'll need to change that to an IP (Telnet) connection to see the raw data exchange.

TonyG
  • 1,432
  • 12
  • 31
  • Hello , it doesn't seem to be the connection issue but maybe just some large data ? For example one record has a field with over 4200 characters , the insert breaks on this record. Been in contact with bluefinity support and they said should try to create a pseudonym dictionary item which truncates the data at 4000 characters. Is this option in the data manager ? Couldn't find in the maintain dictionary interface of mv.NET Data Manager. – C.Astraea Oct 27 '16 at 07:38
  • Check your server profile for the timeout period, the maximum number of seconds to wait. 4200 characters isn't much but a thousand records at that size could take more than the default timeout in seconds. Also tandem to the mv.NET connection port and see what's there when you make the connection. Does it fall into debug? Does the session timeout before the query finishes and returns data? BTW, you won't get much help from anyone who doesn't know D3 and mv.NET. This goes beyond SSIS and SQL. – TonyG Oct 27 '16 at 22:13