我想用貨幣符號加載一個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