gpt4 book ai didi

linux - Linux环境下Oracle External Tables字段解析

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:38:00 24 4
gpt4 key购买 nike

Stackoverflowers!

我有一个 Oracle 数据库 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 表: enter image description here这正是我希望加载数据的方式! :D

不幸的是,我的生产环境是 Oracle Database 11g(相同版本),运行在 Linux 平台上。当我使用相同的代码加载相同的文件 (abc.mtf) 时,这会导致一种奇怪的行为:字段被空格填充。我不知道为什么会发生这种情况,因为我的 Windows Server 2008 VM 上没有发生这种情况。

下面是相同数据在 Linux 环境下的截图:

http://img211.imageshack.us/img211/7535/error01i.png

有人可以帮助我在 Linux 环境下获得与在 Windows 上获得的输出相同的输出吗?预先感谢您的帮助!

最佳答案

问题可能是“records delimited by”子句没有考虑不同的行尾字符组合吗?默认的 NEWLINE 应该可以解决这个问题。

关于linux - Linux环境下Oracle External Tables字段解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13273450/

24 4 0