我正在将数据从平面文件加载到oracle表。
在平面文件中,我有一个字段,其中包含"871685900000027865"
之类的值,其SourceQualifier
中的数据类型为十进制。
但是在oracle目标中它正在加载为
"8.71685900000003E17"
在运行Debugger时,我发现,在Source Qualifier中,数据本身会变为指数形式。
请建议一种简单的方法,将数据加载到目标中。
答案 0 :(得分:2)
使用"启用高精度"会话属性。
我还要在平面文件中添加它,这是一个字符串。平面文件没有任何数据类型定义 - 这些只是平面文本文件。因此,一旦您在源限定符中指定了十进制,它就会尝试为您进行转换。并且在未启用高精度的情况下,它将使用指数形式。这是设计的。
但同样:您从DB获得的内容严格依赖于您正在使用的表定义和客户端工具。你能分享或检查表格定义吗?如果列是十进制的,则不应以此形式存储数据。