当我尝试时,一个简单的数据流会引起很多麻烦
- 从一列( oracle 9.2.0.8)读取数据和
- 直接写入oracle目标表(同一个数据库)
我导入的列(varchar2 25byte)如下所示:
241200001
151200001
211200001
161200001
1231704383
当我选择目标表的列(char 10byte)时,它看起来像这样:
241200001
151200001 3
211200001 3
161200001 3
1231704383
以下屏幕截图显示了源和目标之间的数据网格。在这里,一切似乎都很好。
下一个屏幕截图显示,添加了零和结尾,但不是到处都是。(这是目标任务的预览窗口,但在 TOAD 中看起来是一样的)
检查值的长度会得到以下结果,这看起来还不错:
Select
id,
length(id) as length
from test_view
ID LENGTH
------------------------- ----------
42120001 8
23120001 8
22120001 8
26120001 8
25120001 8
22120001 8
22120001 8
23120001 8
18120001 8
18120001 8
1235800020 10
58120001 8
52120001 8
52120001 8
57120001 8
52120001 8
52120001 8
出于某种原因,末尾有一个空格添加的值。我已经看到在 之间添加了值1-3
,我真的很想知道这是从哪里来的。如果您担心较短的目的地,则不会发生截断。当我将目标列设置为varchar2
它时,它可以工作,但我们需要保持原样。
在数据流内部,数据是一个string(25)
. 那么为什么这个目的地会有问题呢?
更新:
这很奇怪。我认为代码页警告不会导致此错误。输入数据看起来不错,包也很标准。这真的是驱动程序问题,还是目标任务的问题/错误?