w00*_*977 22 sql-server oracle ssis etl
我对SSIS比较陌生.我正在尝试使用Microsoft OLEDB for Oracle从Oracle数据库中提取信息,我正在使用此查询:
SELECT ID FROM Test
Run Code Online (Sandbox Code Playgroud)
我收到一条错误消息:the value cannot be converted because of a potential loss of data.如果我将查询更改为以下,则它可以正常工作:
SELECT '1' FROM Test
Run Code Online (Sandbox Code Playgroud)
我认为它失败了,因为ID不是整数.但是,平面文件连接管理器显示OutputColumnWidth是50.我做错了什么?
格林尼治标准时间16:30更新
我已经对此进行了更多调查,看起来是列有"频率"或"无"的直方图导致问题的列.直方图"高度平衡"的那些似乎没问题.
Wil*_*man 41
这是很常见的事情.在许多情况下,从无法确定列的元数据的另一类系统导入ssis的默认值是默认为str(50).由于您尝试将其推入单字符列,因此它假定您可能会丢失数据.只需右键单击并选择"显示高级编辑器..."即可进入源组件.
然后导航到最后一个选项卡(输入和输出属性)
单击OLE DB源输出旁边的+
单击"输出列"旁边的"+"
突出显示ID列
滚动到对话框右侧的长度数据类型属性,并将其从50更改为1.
| 归档时间: |
|
| 查看次数: |
77676 次 |
| 最近记录: |