1
我試圖將數據從Oracle表導出到csv文件。該表的一列定義爲CLOB數據類型,數據以多種語言存儲。SQLPLUS在用英文以外的其他語言查找數據時寫入csv文件
例如,
create table test1
(col1 number,
col2 clob);
Insert into test1 values (1, '使用 Excel 數據挖掘外接程序執行購物籃分析');
select * from test1;
執行,並從SQL Developer的截圖採取:
當我運行下面的腳本的SQLPlus
set echo off
set newpage none
set feedback off
set pages 0
spool C:\Users\venkat\Desktop\data.csv
select 'col1,col2' from dual;
select col1||',' || col2
from test1;
spool off;
中的數據文件看起來像這
COL1,COL2
1,¿¿¿Excel的¿¿¿¿¿¿¿¿¿¿¿¿¿¿
期待在這個論壇一些幫助。我想看看它在數據庫中的數據。
編輯:道歉,我應該提到環境作爲Windows。在此NLS語言參數這裏
Select * from nls_database_parameters
where parameter IN ('NLS_LANGUAGE','NLS_CHARACTERSET', 'NLS_NCHAR_CHARACTERSET');
和的結果
更多信息說
NLS_LANGUAGE AMERICAN NLS_CHARACTERSET AL32UTF8
NLS_NCHAR_CHARACTERSET AL16UTF16
您好亞歷克斯,感謝您的回覆,我真的無法設置NLS_LANG與登錄到我的數據庫用戶後命令提示符上面的語句,它說> SP2-0735:未知的SET選項開始「NLS_LANG = A ...」 – Venkat
你是什麼意思,「無法設置」?您必須使用正確的shell語法來設置它,_before_運行SQLPlus。 – AlexP
我使用環境和NLS參數更新了OP,請檢查一次。我得到> SP2-0735:從sqlplus執行上述設置語句時,開始「NLS_LANG = A ...」的未知SET選項 – Venkat