SSIS 包错误 - SSIS 错误代码 DTS_E_PROCESSINPUTFAILED

SSIS Package error- SSIS Error Code DTS_E_PROCESSINPUTFAILED

SSIS 作业失败并出现以下错误

[Product Sales [749]] Error: An exception has occurred during data insertion, the message returned from the provider is: The given value of type String from the data source cannot be converted to type float of the specified target column.

[SSIS.Pipeline] Error: SSIS Error Code DTS_E_PROCESSINPUTFAILED. The ProcessInput method on component "Product Sales" (749) failed with error code 0xC020844B while processing input "ADO NET Destination Input" (752). The identified component returned an error from the ProcessInput method. The error is specific to the component, but the error is fatal and will cause the Data Flow task to stop running. There may be error messages posted before this with more information about the failure.

如果您遇到过这种错误,请指教

谢谢

您的错误消息正在向您解释问题:"The given value of type String from the data source cannot be converted to type float of the specified target column."

打开失败的组件并查看元数据。您在某处有一个浮点列,并且您正在向此列传递一个无法转换为浮点数的字符串,例如空 space 或字母数字值。

如果您想确保这些值是浮动的,您可以在失败的组件之上添加一个脚本组件,并编写一些代码以确保正确清理该值:

string input = "1.1"; //Replace with your input buffer value
float result;
float.TryParse(input, out result); //Result = 0.0 if value was not parsed

请在 sourcedestination 之间添加一个 data conversion task 以将数据类型从 string 更改为 float,它将解决您的问题。 如果你仍然面临这个问题,那么让我知道确切的问题是什么来源以及你正在使用哪个 ssis 任务。

使用 ole db 源和目标而不是 odc,并尝试减少列名长度,列名中没有括号,并使用 table 和快速加载,这应该可以解决。我遇到了同样的问题,即通过 dax 查询从分析服务多维数据集加载到本地计算机

的 SQL Table