แก้ปัญหา ORA-01843: not a valid month ใน Oracle เครื่องภาษาไทย
ช่วงนี้เรียน Oracle ที่มหาลัย
แอบจะบ้าตาย เพราะว่า import sql statement ไม่ได้ .. .
คำถามว่า .. เพราะอะไร .. .
SQL> select to_date('20-JAN-06') from dual;
select to_date('20-JAN-06') from dual
*
ERROR at line 1:
ORA-01843: not a valid month
อะอะ .. ไปเจอบนหน้า http://www.cryer.co.uk/brian/oracle/ORA01843.htm
alter session set nls_date_format='DD-MON-YY';
พอเสร็จ นึกว่าจะใช้ได้แล้ว ..
แต่ก็ยังเจอปัญหาเดิม !
SQL> select to_date('20-JAN-06') from dual;
select to_date('20-JAN-06') from dual
*
ERROR at line 1:
ORA-01843: not a valid month
คราวนี้เลยลอง select session มาดู
select * from nls_session_parameters;
เจออันนี้ แปลกๆ ที่สุด !
PARAMETER
-----------------
VALUE
-----------------
NLS_DATE_FORMAT
DD-MON-YY
NLS_DATE_LANGUAGE
THAI
NLS_SORT
THAI_DICTIONARY
ก็เลยจัดการซะเลย
ALTER session SET NLS_DATE_LANGUAGE='ENGLISH';
ปรากฎว่า ใช้ได้ !
สรุปคือ ปัญหาของมันอยู่ที่ภาษาเท่านั้นเอง
เราจะตั้งเป็น permanent ได้ไหมหว่า .. .
1 comment:
หาวิธีแก้ปัญหาอยู่พอดีครับ ใช้ได้จริง ๆ ด้วย ขอบคุณมากครับ
Post a Comment