単純なデータフローは、私がしようとすると多くの問題を引き起こします
- 1つの列(oracle 9.2.0.8)からデータを読み取り、
- オラクルの宛先テーブル(同じデータベース)に直接書き込みます
インポートするcolumn(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)
です。では、なぜこの目的地に問題があるのでしょうか。
アップデート:
これは変です。コードページの警告がこのエラーの原因ではないと思います。入力データは見栄えがよく、パッケージはかなり標準的です。これは本当にドライバーの問題なのか、それとも宛先タスクの問題/バグなのか?