通过ADF从Blob向Snowflake复制文件报错:非加密文件被误判为加密Excel
解决ADF加载Blob中CSV至Snowflake时误报“加密Excel不支持”的问题
错误信息
ErrorCode=EncryptedExcelIsNotSupported,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=Encrypted excel file 'Reports.csv' is not supported, please remove its password.,Source=Microsoft.DataTransfer.ClientLibrary,''Type=ICSharpCode.SharpZipLib.Zip.ZipException,Message=Wrong Local header signature: 0x6167724F,Source=ICSharpCode.SharpZipLib,'
问题分析
虽然提示是加密Excel不支持,但实际文件是未加密的CSV,结合错误中的ZipException和签名错误,核心原因是ADF对文件格式的识别出错,或文件本身存在格式异常、损坏情况。
解决方案
- 强制指定ADF数据集格式:把Blob存储对应的数据集格式手动设置为CSV,不要依赖自动识别。同时确认分隔符、表头设置等参数与实际文件匹配,避免ADF误将CSV当作Excel解析。
- 验证文件完整性:
- 下载Blob中的
Reports.csv,本地用文本编辑器打开,检查内容是否为标准CSV格式,有没有乱码、特殊开头字符或文件损坏情况。 - 确认文件扩展名确实是
.csv,没有被误命名为CSV的压缩包或其他格式文件。
- 下载Blob中的
- 调整复制活动解析参数:在复制活动的源配置里,尝试设置跳过前N行(如果文件有非CSV的注释行),或明确指定行分隔符;如果文件带BOM,将编码设置为UTF-8 BOM。
- 重新上传文件:删除Blob中现有文件,用Azure Storage Explorer或官方工具重新上传原始CSV文件,排除上传过程中导致的文件损坏。
- 检查压缩设置:确认ADF的源数据集或复制活动中没有误启用压缩选项,避免系统尝试解压非压缩的CSV文件。
内容的提问来源于stack exchange,提问作者Neha
相关产品推荐
相关产品推荐

