我正在尝试制作一个 SSIS 包,从 Oracle 数据库中的 View 中提取数据并将其保存在一个平面文件中。没有掩饰,什么都没有。
我的问题是,当我在源组件中预览数据时,它看起来是正确的并返回 ex。 “1000200”(发票编号)。 但是当我预览平面文件目标中的数据时,它会截断数据,所以我只看到“1”。如果我运行该包,也会持续存在(必须将 ValidateExternalMetaData 设置为 false 才能这样做)。
Oracle 源中的数据类型为 varchar2(30),SSIS 将其标识为 DT_STR(30)。
我试过:
- 将输出数据类型更改为 DT_WSTR - 但 SSIS 会自动将其还原
- 使用数据转换组件将 DT_STR 转换为 DT_WSTR - 运气不好
- 在目标组件中勾选 unicode 并取消勾选 unicode
- 更改组件中的数据类型
- Google 我自己死了...
非常感谢我能得到的所有帮助。
最佳答案
我认为问题出在目标平面文件列元数据中。
打开目标平面文件管理器,转到高级选项卡,单击目标列并确保列长度为 30
关于sql - SSIS Oracle Source 只输出 1 个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56807533/