叠花!
我在使用 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 上获得的输出相同的输出吗?在此先感谢您的帮助!