SSIS 从插入脚本到 ADO NET 目标中删除引用

问题描述 投票:0回答:2

我尝试使用 SSIS 将数据插入到 Cloudera/Hive。我使用 ODBC 从 SSIS 到 Cloudera 的连接。

我在执行任务时遇到问题,为插入生成的脚本在列名称处包含双引号。如何从生成的脚本中删除它?您可以在这里查看查询

img

这就是我的数据流的样子

img

错误是

[ADO NET Destination [2]] 错误:数据插入过程中发生异常,提供者返回的消息为:ERROR [42000] [Cloudera][Hardy] (80) 执行时在服务器中抛出语法或语义分析错误询问。来自服务器的错误消息:编译语句时出错:FAILED:ParseException 第 1:25 行无法识别语句中“idbank”、“idnamapengurus”附近的输入 [SSIS.Pipeline] 错误:SSIS 错误代码 DTS_E_PROCESSINPUTFAILED。处理输入“ADO NET 目标输入”(9) 时,组件“ADO NET 目标”(2) 上的 ProcessInput 方法失败,错误代码为 0xC020844B。所识别的组件从 ProcessInput 方法返回错误。该错误特定于该组件,但该错误是致命的,将导致数据流任务停止运行。在此之前可能会发布错误消息,其中包含有关失败的更多信息。

有办法从 SSIS 生成的插入脚本中删除引用吗?或者配置 Hive 来读取报价?

谢谢

hive ssis ado.net cloudera
2个回答
0
投票

请参阅下面的平面文件连接管理器。

您的文件可能是文本限定的,您需要将双引号文本限定符添加到此编辑器屏幕。


0
投票

在连接管理器中,我没有配置使用文本限定符,并且源文件没有文本限定符。我认为生成 INSERT 脚本时会自动生成双引号,但我不知道为什么没有生成值,只有问号。

© www.soinside.com 2019 - 2024. All rights reserved.