我在将一些数据从 MySQL 表导入 Oracle 表和 MS SQL Server 表的包中遇到问题。它从 MySQL 到 SQL Server 运行良好,但是当我想导入到 Oracle 时出现错误。
我要导入的表包含数据类型 DT_R8 的属性 (unitPrice)。
如您在捕获中看到的,Oracle 的目标数据类型是 DT_NUMBERIC。
我添加了一个转换步骤,将 unitPrice 数据从 DT_R8 转换为 DT_NUMERIC。
它不起作用,我收到以下错误。
我找到了错误的详细信息:
当尝试将字符串转换为数字时,出现 ORA-01722(“无效数字”)错误,但无法将字符串转换为有效数字。有效数字包含数字“0”到“9”,可能有一个小数点,字符串开头或结尾的符号(+ 或 -),或“E”或“e”(如果它是浮点数)科学计数法中的点数)。禁止使用所有其他字符。
但是,我不知道如何解决。
编辑:我添加了一个组件来将行/错误重定向到 Excel 文件。
以下屏幕截图显示了该过程的结果,包括错误:
通过浏览仅记录的 3000 行,似乎该过程只接受 int 值而不接受真实值。因此,如果价格等于 10,则可以,但如果价格为 10,5,则失败。
有什么想法可以解决这个问题吗?