我有一个SSIS包,在他的OLEDB目的地有一个NVARCHAR(MAX)字段.该字段甚至没有被数据流填充.数据流任务失败,并显示错误"无法创建OLE DB访问者.验证列元数据是否有效".
我看到了类似的问题:如何修复SSIS中的多步OLE DB操作错误?并根据它的建议检查了我的元数据.我发现SSIS将违规列映射为NTEXT而不是DT_WSTR.我尝试将其类型更改为长度为8000的DT_WSTR,但仍然会出现相同的错误.还尝试用NULL填充字段,同样的错误.将"验证外部元数据"设置为false并没有任何区别.有关如何解决它的任何建议?
谢谢.
我找到了另一种(可能更快)的方法来解决这个问题,但这有点尴尬。需要注意的是,您的数据可能会被截断。使用它是否是个好主意将取决于数据的用途。
假设有问题的列输出已设置为Unicode text stream [DT_NTEXT]. 在第一个之后添加第二个数据转换步骤,将第一个转换的输出放入第二个,您可以映射Unicode text stream [DT_NTEXT]到Unicode string [DT_WSTR](长度 = 4000)。它会警告您截断的可能性,但现在您可以使用第二次转换的输出数据。
| 归档时间: |
|
| 查看次数: |
20078 次 |
| 最近记录: |