スタックオーバーフラワー!
外部ファイルからデータをマッピングする外部テーブルがある Oracle Database 11g インスタンスに問題があります。
これは、開発中の Windows Server 2008 R2 x64 仮想マシンで動作している私のコードです。
CREATE TABLE ABC (
NAMECREDORPART1 CHAR(50 CHAR),
NAMECREDORPART2 CHAR(50 CHAR),
NAMECREDORPART3 CHAR(50 CHAR),
ADDRESSCREDORPART1 CHAR(50 CHAR),
(...)
)
ORGANIZATION EXTERNAL (
TYPE ORACLE_LOADER
DEFAULT DIRECTORY FILES
ACCESS PARAMETERS (
records delimited by '\n' CHARACTERSET 'WE8ISO8859P15'
LOAD WHEN (documento != blanks)
FIELDS
MISSING FIELD VALUES ARE NULL
REJECT ROWS WITH ALL NULL FIELDS (
NAMECREDORPART1 position(1:49) char(50),
NAMECREDORPART2 position(50:99) char(50),
NAMECREDORPART3 position(100:149) char(50),
ADDRESSCREDORPART1 position(150:199) char(50),
(...)
)
)
LOCATION ('abc.mtf')
)
PARALLEL
NOMONITORING
REJECT LIMIT UNLIMITED;
このコードにより、次のデータがこの ABC テーブルにロード/マップされます 。:D
残念ながら、私の本番環境は、Linux プラットフォームで実行されている Oracle Database 11g (同じバージョン) です。これにより、同じコードを使用して同じファイル (abc.mtf) をロードすると、奇妙な動作が発生します。フィールドがスペースで埋められます。Windows Server 2008 VM では発生していないため、なぜこれが発生するのかわかりません。
Linux 環境でのこの同じデータのスクリーンショットを次に示します。
Linux環境でWindowsと同じ出力を得るのを手伝ってもらえますか? よろしくお願いします。