25

我对 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。我做错了什么?

格林威治标准时间 16:30 更新
我对此进行了更多研究,似乎是具有“频率”或“无”直方图的列导致了问题。那些具有“高度平衡”直方图的人似乎没问题。

4

1 回答 1

46

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

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

单击 OLE DB 源输出旁边的 +

单击输出列旁边的 +

突出显示 ID 列

滚动到对话框右侧的 Length Data Type Property 并将其从 50 更改为 1。

于 2012-07-31T19:23:07.807 回答