我对SSIS比较陌生。我正在尝试使用Microsoft OLEDB for Oracle从Oracle数据库中提取信息,并且正在使用以下查询:

SELECT ID FROM Test

我收到一条错误消息:the value cannot be converted because of a potential loss of data。如果我将查询更改为以下内容,那么它将起作用:
SELECT '1' FROM Test

我认为这是失败的,因为ID不是整数。但是,平面文件连接管理器显示OutputColumnWidth为50。我在做什么错?

GMT更新16:30
我对此进行了更多研究,似乎是造成“频率”或“无”直方图的列引起了问题。直方图为“高度平衡”的人似乎还可以。

最佳答案

这是平常的事。在很多情况下,从无法确定列元数据的另一种类型的系统导入ssis的默认值是默认值str(50)。由于您试图将其 push 一个字符列中,因此假定您可能会丢失数据。只需右键单击并选择“显示高级编辑器...”,即可进入源组件。

然后导航到最后一个选项卡(输入和输出属性)

单击OLE DB源输出旁边的+

点击输出列旁边的+

突出显示ID列

滚动到对话框右侧的“长度数据类型”属性,并将其从50更改为1。

10-04 10:56
查看更多