我想用货币符号加载一个csv文件,使用SQL * Loader。符号'£'被替换为'#',符号'€'被替换为NULL。使用SQL * Loader加载货币符号
不知道我是否应该调整控制文件中的一些设置?
这里是从价值观NLS_DATABASE_PARAMETERS:
NLS_NCHAR_CHARACTERSET = AL16UTF16 NLS_CHARACTERSET = AL32UTF8
任何指针将有很大的帮助。 csv文件的
提取物 -
id,currency
1234,£
5678,€
货币的列的数据类型是NVARCHAR2(10)。
这里的CTL文件 -
OPTIONS(skip=1)
LOAD DATA
TRUNCATE
INTO TABLE schema_name.table_name
FIELDS TERMINATED BY ","
OPTIONALLY ENCLOSED BY '"'
TRAILING NULLCOLS
(
filler1 filler,
filler2 filler,
Id INTEGER EXTERNAL,
Currency CHAR "TRIM(:Currency)"
)
请参考问题,我修改了它,使其具有csv和ctl样本以及数据类型。 – KLeonine
使用什么字符集编码的CSV文件? –
不确定,客户端发送了xlsx,我将这些内容复制粘贴到一个新文件中(使用MS Excel)并将其保存为逗号分隔(* .csv)文件。我面临的另一个问题是,每行的末尾都会添加CR和LF。数据加载到oracle表后,我可以用NULL替换它们。 – KLeonine