Azure数据工厂转义符和报价问题-复制活动

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

我有ADF管道(通过复制活动)将数据从Azure SQL数据库导出到Data Lake(ADLS2),然后从那里导出到另一个Azure SQL数据库。直到出现一些字符,它的工作状况还不错。

这是罪魁祸首在第一个Azure SQL数据库中的外观:“ Gasunie \

enter image description here

这是在ADF中设置数据集以将其导出到ADLS的方式:列定界符-管道行定界符-自动检测编码-默认(UTF-8)转义符-反斜杠()引号字符-双引号(“)

enter image description here

这是导出的文件在notepad ++中的样子(它是管道分隔的文件):“ \” Gasunie \“enter image description here

这些是从ADL加载到Azure SQL数据库时ADF中ADL数据集的设置:列定界符-逗号行定界符-自动检测编码-默认(UTF-8)转义符-反斜杠()引号字符-双引号(“)

请注意,它现在以逗号分隔,但这不会引起任何问题。

enter image description here

但是这是加载后的样子:“ Gasunie” | 1 ||||||||||| ...最初存在的反斜杠使它停止了下几列的分隔。enter image description here

我已经尝试了许多不同的引号和转义符设置,但是它们为数据集中的其他数据带来了更多问题。

有人知道我可以在不要求更正来源的情况下进行纠正吗?

注意:将其存储在adls中是有原因的,因此它不能是从Azure sql数据库到另一个Azure Sql数据库的副本。

它是由顾问使用的模板构建的,经过高度参数化,因此插入数据流以处理adls中的文件将是一个非常漫长的过程。

任何帮助表示赞赏。谢谢。

csv escaping azure-data-factory quotes copy-activity
1个回答
0
投票

只是一个建议,我想到了将数据从azuresql复制到datalake的情况,回车符和换行符将在adls上拆分保存的csv文件。我使用以下代码在查询中替换了它们,并成功了。replace (REPLACE(Description,CHAR(10),''),char(13),'')说明

您可以尝试以下操作

REPLACE([yourcolumn],char(34),' ')

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9IMERTOC5wbmcifQ==” alt =“ image1”>“

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