ORA-01843:插入带英文缩写月份的日期发生错误解决方法
2008-01-10 10:57
816 查看
当插入日期型的项目时,会出现英文缩写月份插入错误的问题
C:/Documents and Settings/yangxiujin>sqlplus system/xxxx@ora
SQL> desc sales_data;
名前 NULL? 型
----------------------------------------- -------- ---------------------------
TXN_ID NOT NULL NUMBER
PRODUCT_ID NUMBER
PROD_CATEGORY VARCHAR2(2)
CUSTOMER_ID VARCHAR2(10)
SALE_DATE DATE
SALE_QTY NUMBER
SALE_PRICE NUMBER
SQL> @c:/salse_date.sql
SP2-0310: ファイル"c:/salse_date.sql"をオープンできません。
SQL> @c:/sales_date.sql
4,413354981,'V','41',to_date('1117-Jan-02','YYYY-MON-DD'),1,12.95)
*
行3でエラーが発生しました。:
ORA-01843: not a valid month
1行が作成されました
-----------------------------------------------------------------------------------
ORA-01843错误发生。
SQL中,SQL语法:
INSERT INTO SALES_DATA
VALUES(
4,413354981,'V','41',to_date('1117-Jan-02','YYYY-MON-DD'),1,12.95);
INSERT INTO SALES_DATA
VALUES(
4,413354981,'V','41',to_date('1117-01-02','YYYY-MM-DD'),1,12.95);
语法没有问题。
是什么的问题呢?
C:/Documents and Settings/yangxiujin>set nls_lang
nls_lang=JAPANESE_JAPAN.JA16SJISTILDE
现在使用的字符集是日语字符集,对包含有月份‘Jan’的格式不支持。
需要做出如下修改才能插入带英语月份简写的日期
SQL> desc sales_data;
名前 NULL? 型
----------------------------------------- -------- ----------------------------
TXN_ID NOT NULL NUMBER
PRODUCT_ID NUMBER
PROD_CATEGORY VARCHAR2(2)
CUSTOMER_ID VARCHAR2(10)
SALE_DATE DATE
SALE_QTY NUMBER
SALE_PRICE NUMBER
SQL> @c:/salse_date.sql
SP2-0310: ファイル"c:/salse_date.sql"をオープンできません。
SQL> @c:/sales_date.sql
4,413354981,'V','41',to_date('1117-Jan-02','YYYY-MON-DD'),1,12.95)
*
行3でエラーが発生しました。:
ORA-01843: not a valid month
1行が作成されました。
SQL> exit
Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production
With the Partitioning, OLAP and Data Mining optionsとの接続が切断されました。
C:/Documents and Settings/yangxiujin>set nls_lang
環境変数 nls_lang が定義されていません
C:/Documents and Settings/yangxiujin>
set nls_lang=AMERICAN_AMERICA.US7ASCII
C:/Documents and Settings/yangxiujin>set nls_lang
nls_lang=AMERICAN_AMERICA.US7ASCII
Connected to:
Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL> @c:/sales_date.sql;
1 row created.
1 row created.
SQL>
成功!!!!
附
sales_date.sql
INSERT INTO SALES_DATA
VALUES(
4,413354981,'V','41',to_date('1117-Jan-02','YYYY-MON-DD'),1,12.95);
INSERT INTO SALES_DATA
VALUES(
4,413354981,'V','41',to_date('1117-01-02','YYYY-MM-DD'),1,12.95);
C:/Documents and Settings/yangxiujin>sqlplus system/xxxx@ora
SQL> desc sales_data;
名前 NULL? 型
----------------------------------------- -------- ---------------------------
TXN_ID NOT NULL NUMBER
PRODUCT_ID NUMBER
PROD_CATEGORY VARCHAR2(2)
CUSTOMER_ID VARCHAR2(10)
SALE_DATE DATE
SALE_QTY NUMBER
SALE_PRICE NUMBER
SQL> @c:/salse_date.sql
SP2-0310: ファイル"c:/salse_date.sql"をオープンできません。
SQL> @c:/sales_date.sql
4,413354981,'V','41',to_date('1117-Jan-02','YYYY-MON-DD'),1,12.95)
*
行3でエラーが発生しました。:
ORA-01843: not a valid month
1行が作成されました
-----------------------------------------------------------------------------------
ORA-01843错误发生。
SQL中,SQL语法:
INSERT INTO SALES_DATA
VALUES(
4,413354981,'V','41',to_date('1117-Jan-02','YYYY-MON-DD'),1,12.95);
INSERT INTO SALES_DATA
VALUES(
4,413354981,'V','41',to_date('1117-01-02','YYYY-MM-DD'),1,12.95);
语法没有问题。
是什么的问题呢?
C:/Documents and Settings/yangxiujin>set nls_lang
nls_lang=JAPANESE_JAPAN.JA16SJISTILDE
现在使用的字符集是日语字符集,对包含有月份‘Jan’的格式不支持。
需要做出如下修改才能插入带英语月份简写的日期
SQL> desc sales_data;
名前 NULL? 型
----------------------------------------- -------- ----------------------------
TXN_ID NOT NULL NUMBER
PRODUCT_ID NUMBER
PROD_CATEGORY VARCHAR2(2)
CUSTOMER_ID VARCHAR2(10)
SALE_DATE DATE
SALE_QTY NUMBER
SALE_PRICE NUMBER
SQL> @c:/salse_date.sql
SP2-0310: ファイル"c:/salse_date.sql"をオープンできません。
SQL> @c:/sales_date.sql
4,413354981,'V','41',to_date('1117-Jan-02','YYYY-MON-DD'),1,12.95)
*
行3でエラーが発生しました。:
ORA-01843: not a valid month
1行が作成されました。
SQL> exit
Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production
With the Partitioning, OLAP and Data Mining optionsとの接続が切断されました。
C:/Documents and Settings/yangxiujin>set nls_lang
環境変数 nls_lang が定義されていません
C:/Documents and Settings/yangxiujin>
set nls_lang=AMERICAN_AMERICA.US7ASCII
C:/Documents and Settings/yangxiujin>set nls_lang
nls_lang=AMERICAN_AMERICA.US7ASCII
Connected to:
Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL> @c:/sales_date.sql;
1 row created.
1 row created.
SQL>
成功!!!!
附
sales_date.sql
INSERT INTO SALES_DATA
VALUES(
4,413354981,'V','41',to_date('1117-Jan-02','YYYY-MON-DD'),1,12.95);
INSERT INTO SALES_DATA
VALUES(
4,413354981,'V','41',to_date('1117-01-02','YYYY-MM-DD'),1,12.95);
相关文章推荐
- 将Ofbiz的数据库改为Oracle,运行时出现 ORA-01843: 无效的月份 错误 的原因及解决方法
- ORA-01843的错误 插入日期数据时报错
- ORA-01843:无效的月份解决方法
- 解决ORA-01843:无效的月份的方法
- ORA-01843 无效的月份的解决方法/NLS_DATE_FORMAT参数
- Oracle插入日期格式出现 ORA-01843: not a valid month的解决办法
- ORA-00257错误诊断及解决方法
- Oracle错误 ora-12514 解决方法
- Windows7下安装Oracle 10g提示“程序异常终止,发生未知错误”的解决方法
- 【转载】错误:ORA-28002: the password will expire within 7 days 解决方法
- oracle提示 ORA-12154错误解决方法
- ORA-00600 internal error code, arguments [%s] [%s] [%s] [keltnfy-ldmInit] [46] [1] 错误的解决方法
- ORA-12560: TNS: 协议适配器错误的解决方法
- 触发器中ORA-04091 变异表错误原因和一般解决方法
- 安装VS.net 2003时发生错误(ERROR: 内部错误 2337)的解决方法
- Windows7下安装Oracle 10g提示“程序异常终止,发生未知错误”的解决方法
- oracle错误号大全(查询ora错误号以及解决方法技巧)
- Oracle 11.2.0.3 ORA-12012 ORA-29280 ORA-06512 错误 解决方法
- 遭遇ORA-01200错误的原因及解决方法
- FireFox中使用ExtJs日期控件错误的解决方法