简体   繁体   English

将数据从多值D3数据库导入SQL问题

[英]Importing data from multi-value D3 database into SQL issues

Trying to use the mv.NET by bluefinity tools. 通过bluefinity工具尝试使用mv.NET。 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. 制作了一些集成程序包,用于将数据从d3多值数据库导入到MS SQL 2012中,但似乎在映射方面遇到了一些麻烦。

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 对于VOYAGES表,D3应用程序中有一些commentX字段,这些字段的行为非常笨拙,并且在插入一定数量的行后,INSERT失败,并显示以下消息

>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. 在SQL表中,列的类型为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. 在.dtsx作业中,列的数据类型为长度为4000的Unicode字符串[DT_WSTR]类型,我想这些是自动检测到的。

The import worked for other D3 files like this not sure why it fails for these comment fields. 导入适用于其他D3文件,例如此类,不确定为什么这些注释字段会失败。

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? 240秒钟后,在mv.NET数据管理器(在d3服务器上)上运行查询超时,因此这可能是潜在的问题吗?

Any ideas how to proceed? 任何想法如何进行? Thank you ~ 谢谢〜

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 . 最相似的原因是列COMMGROUP没有正确的数据类型或源中的某些记录不适合输出类型要查找错误记录(引起),您必须在重定向行上使用(组件失败的组件的属性)并获取结果集一些txt.csv /或tsv文件。 then check data 然后检查数据

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. mv.NET引发了异常,因此我建议您致电(或要求您的经销商)致电Bluefinity支持人员,并向他们询问有关此问题。 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. D3不导出Unicode,这可能是一个问题。 But if the Data Manager times-out then I suspect something is wrong in the connectivity into D3. 但是,如果数据管理器超时,那么我怀疑到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. 我猜测它要么挂起,要么更可能属于BASIC Debug。

Make sure all D3-side programs related to this are either all Flash-compiled, or all Not Flashed. 确保与此相关的所有D3端程序都是Flash编译的,或者全部不是Flash的。 Your app code will fall into Debug if it's not Flashed but MVNET.BP is. 如果未刷新,但MVNET.BP则您的应用程序代码将进入“调试”状态。

If it's your program that's in Debug, fix it. 如果您的程序在Debug中,请对其进行修复。 If you're not sure which program it is, LIST-RUNTIME-ERRORS in DM. 如果您不确定它是哪个程序,请在DM中查看LIST-RUNTIME-ERRORS。

If it's a MVNET.BP program, again work with Bluefinity. 如果它是MVNET.BP程序,请再次使用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. 如果使用MVSP进行连接,则连接监视器可能没用,您需要将其更改为IP(Telnet)连接以查看原始数据交换。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM