【发布时间】:2022-01-26 23:02:44
【问题描述】:
环境:
- Microsoft® Excel® for Microsoft 365 MSO(版本 2112 Build 16.0.14729.20254)64 位
- Microsoft SQL Server 2019 (RTM-CU14) (KB5007182) - 15.0.4188.2 (X64)
- Microsoft Visual Studio 2019
-
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun\REGISTRY\MACHINE\Software\Microsoft\Office\16.0\Access Connectivity Engine\Engines\Excel\TypeGuessRows设置为0
在 Excel 中,我将单元格格式化为“文本”,并用一些超长的虚拟文本填充了第 2 行和第 3 行...(第 1 行是标题行)
当我进入 Excel 源代码/高级编辑器时,我可以将输出设置为 Unicode 文本流 [DT_NTEXT] 或其他任何内容,但外部列不能更改为 Unicode 以外的其他内容字符串 [DT_WSTR](255 个字符) 尽管注册表中的设置通常应该允许它并且尽管在前两行中有超长字符串(除了包含字段名称的第一行)
当然,当我尝试执行 SSIS 任务时,它会抛出一个正常的截断错误。
问题:我做错了什么或者应该在这里做什么才能真正能够导入数据?顺便说一句,这应该在某个时候实现自动化。
【问题讨论】:
-
尝试从高级编辑器更改列长度。检查我的答案更新(第四部分)
标签: sql-server excel ssis etl sql-server-2019