[Sorted] ORA-01841 - date problem
I must be doing something stupid here, but for the life of me, I can't work out what it is! I'm on 10.2.0.2
I have a partitioned table that has partitions named PART_<YYYYMMDD> (eg. PART_20070618) or PART_MAX (for the catchall partition).
I've written a query to try and find the partition that's greater than a specified date, so I can work out what partition to split in my partition upkeep procedure.
(This is the test version of the query - in the procedure the table_name and the date comparison will be variables)
SELECT 'PART_'||to_char(MIN(TO_DATE(SUBSTR(partition_name, 6), 'yyyymmdd')), 'yyyymmdd')
FROM (select partition_name
from all_tab_partitions
WHERE table_name = UPPER('task_archive')
AND partition_name <> 'PART_MAX')
WHERE TO_DATE(SUBSTR(partition_name, 6), 'yyyymmdd') > trunc(to_date('20070618', 'yyyymmdd'))This gives the error: ORA-01841: (full) year must be between -4713 and +9999, and not be 0
However, taking off the last WHERE clause gives this:
SELECT 'PART_'||to_char(MIN(TO_DATE(SUBSTR(partition_name, 6), 'yyyymmdd')), 'yyyymmdd')
FROM (select partition_name
from all_tab_partitions
WHERE table_name = UPPER('task_archive')
AND partition_name <> 'PART_MAX')
'PART_'||TO_CHAR(MIN(TO_DATE(SUBSTR(PARTITION_NAME,6),'YYYYMMDD')),'YYYYMMDD')
PART_20070604And the inner query gives this:
select partition_name
from all_tab_partitions
WHERE table_name = UPPER('task_archive')
AND partition_name <> 'PART_MAX'
PARTITION_NAME
PART_20070604
PART_20070611
PART_20070618Can anyone spot what it is that I've done wrong, please?!
Heh, yes, I did rewrite the query due to receiving the error initially. I've gone down the same route as you and couldn't get it to work.
I've just pasted your query in and run it, and same error occurs. Then I thought perhaps it's a Toad-ism, somewhere, but sqlplus gives the same error:
SQL> SELECT 'PART_'|| to_char(MIN( part_date ), 'yyyymmdd')
2 FROM (select partition_name, TO_DATE(SUBSTR(partition_name, 6), 'yyyymmdd') part_Date
3 from all_tab_partitions
4 WHERE table_name = UPPER('task_archive')
5 AND partition_name <> 'PART_MAX')
6 WHERE part_date > to_date('20070618', 'yyyymmdd')
7
SQL> /
FROM (select partition_name, TO_DATE(SUBSTR(partition_name, 6), 'yyyymmdd') part_Date
ERROR at line 2:
ORA-01841: (full) year must be between -4713 and +9999, and not be 0I'm pretty sure Oracle's rewriting the query somehow, but I'm not sure how to stop it, given that the materialize hint isn't working:
1 SELECT 'PART_'|| to_char(MIN( part_date ), 'yyyymmdd')
2 FROM (select /*+ materialize */ partition_name, TO_DATE(SUBSTR(partition_name, 6), 'yyyymmdd')
3 from all_tab_partitions
4 WHERE table_name = UPPER('task_archive')
5 AND partition_name <> 'PART_MAX')
6* WHERE part_date > to_date('20070618', 'yyyymmdd')
SQL> /
FROM (select /*+ materialize */ partition_name, TO_DATE(SUBSTR(partition_name, 6), 'yyyymmdd')
ERROR at line 2:
ORA-01841: (full) year must be between -4713 and +9999, and not be 0
Similar Messages
-
ORA-01841 Error when value for date col is NULL in .dat (using SQL Loader)
Hello Gurus,
I have some data in .dat file which needs to be loaded into oracle table. I am using SQL * Loader to do the job. Although "NULLIF col_name =BLANKS" works for character datatype, but when value for date col is NULL then I get ORA-01841 error. I have to make NULL for all rows withour value for date column
Early reply will be highly appreciated
FarooqHi,
May be this problem is not with the NULLIF. The value for the date column is not in proper date format.
create table:
create table kk (empno number, ename varchar2(20), deptno number, hiredate date)
Control file:
LOAD DATA
INFILE 'd:\kk\empdata.dat'
insert into TABLE kk ( empno position (1:2) integer external,
ename position(4:5) char NULLIF ename=BLANKS,
deptno position (7:8) integer external NULLIF deptno=BLANKS,
hiredate position (10:20) date NULLIF hiredate=BLANKS)
data file:
10 KK 01-jan-2005
20 10
SELECT * FROM KK;
EMPNO ENAME DEPTNO HIREDATE
10 KK 01-JAN-05
20 10
Verify the data file.
Hope it will help -
ORA-01841 Converting SQL Server DateTime to Oracle Date
I have Oracle 11gR2 x64 running on my Win7 Enterprise x64 personal system. I'm trying to convert the TSQL to create a database in SQL Server 2008 Express for my C# class to Oracle, and I've run into a "interesting" problem loading date data.
The SQL Server 2008 TSQL InvoiceDate column in the Invoices table has datatype DATETIME:
*[InvoiceDate] [datetime] NOT NULL,*
which Oracle does not support. The Oracle InvoiceDate column in the MMAB_Invoices table has datatype DATE:
InvoiceDate DATE NOT NULL,
The fun begins with the TSQL INSERT statements (for example):
INSERT [dbo].[Invoices] ([InvoiceID], [CustomerID], [InvoiceDate], [ProductTotal], [SalesTax], [Shipping], [InvoiceTotal]) VALUES (18, 20, CAST(0x00009CFD00000000 AS DateTime), 151.0000, 11.3300, 6.2500, 168.5800)
As you can see, whoever wrote the load script thought it would be totally awesome to convert hex (binary?) data to generate a date, instead of using data readable by a human being.
BTW, the date generated is 2010-01-13 00:00:00.000.
After Reading The Fabulous Manual and searching the OTN Discussion Fora, what I came up with is
INSERT INTO MMAB_Invoices (CustomerID, InvoiceDate, ProductTotal, SalesTax, Shipping, InvoiceTotal) VALUES (20, TO_DATE(UTL_RAW.CAST_TO_VARCHAR2(HEXTORAW('00009CFD00000000')), 'YYYY-MM-DD HH:MI:SS'), 151.0000, 11.3300, 6.2500, 168.5800);
which returned
Error starting at line 846 in command:
INSERT INTO MMAB_Invoices (CustomerID, InvoiceDate, ProductTotal, SalesTax, Shipping, InvoiceTotal) VALUES (20, TO_DATE(UTL_RAW.CAST_TO_VARCHAR2(HEXTORAW('00009CFD00000000')), 'YYYY-MM-DD HH:MI:SS'), 151.0000, 11.3300, 6.2500, 168.5800)
Error report:
SQL Error: ORA-01841: (full) year must be between -4713 and +9999, and not be 0
*01841. 00000 - "(full) year must be between -4713 and +9999, and not be 0"*
**Cause: Illegal year entered*
**Action: Input year in the specified range*
The PK InvoiceID is automatically generated by a BEFORE INSERT trigger that uses a sequence.
Suggestions?
Thanks.
P.S. Happy New Year!!!Your hex conversion is certainly not returning a date format:
sql> select UTL_RAW.CAST_TO_VARCHAR2(HEXTORAW('00009CFD00000000')) from dual;
UTL_RAW.CAST_TO_VARCHAR2(HEXTORAW('00009CFD00000000'))
┐²To convert the hex number to decimal, simply use to_number:
sql> select to_number('00009CFD00000000', 'xxxxxxxxxxxxxxxx') from dual;
TO_NUMBER('00009CFD00000000','XXXXXXXXXXXXXXXX')
1.7261E+14Now, before you can make any further calculations with that number, you need to know how it represents the date of 2010-01-13. Luckily, we've got Google nowadays. ;-)
Sql server representation seems to be an 8 byte field. The first 4 bytes stores the number of days since SQL Server's epoch (1st Jan 1900). The second 4 bytes stores the number of milliseconds after midnight.
sql> select to_number('00009CFD', 'xxxxxxxxxxxxxxxx') from dual;
TO_NUMBER('00009CFD','XXXXXXXXXXXXXXXX')
40189
sql> select to_date('1900-01-01','yyyy-mm-dd') + 40189 from dual;
TO_DATE('
13-JAN-10So, the conversion would be something like this:
sql> select to_date('1900-01-01','yyyy-mm-dd') + to_number(substr('00009CFD00000000',1,8), 'xxxxxxxx') + to_number(substr('00009CFD00000000',9,8), 'xxxxxxxx') / (24*60*60*1000) from dual;
TO_DATE('
13-JAN-10Note: Oracle DATE format specifies a datetime up to the second, whereas the sqlserver DATETIME format specifies a datetime up to the millisecond; if that precision is needed, use Oracle's TIMESTAMP instead.
Note: using an internal representation is risky, implementation details may change. In this case, it seems pretty unlikely that Microsoft will ever change the datetime internal representation, since that would break lots and lots of code.
Edited by: theoa on 2-jan-2012 9:14 -
The issue is the code is not inserting the good records into the MIE table. This is becasue of the error 'OtherError GFSTM_INS_SNURK_NEW_TABLES_PA.gfstm_ins_asn_journal_pr:ORA-01841: (full) year must be between -4713 and +9999, and not be 0' This error is throwing out because of space issue in dt_asn_shipped.
My requirement is to log error if any if not get the next record in the loop and insert it in the table if it has no error. The issue is good records are not getting inserted. The snurk_cmms_crct018_asn_journl in the cursor is a synonym which uses dblionk to connect to the remote db. The dt_asn_shipped data type is char(6) and the format is YYMMDD.
declare
CURSOR cur_asn_journal IS
SELECT NVL(TRIM(cd_asn_plant),' ') cd_asn_plant,
NVL(TRIM(no_journal),0) no_journal,
NVL(TRIM(cd_ship_from),' ') cd_ship_from,
TRIM(no_asn) no_asn,
DECODE(LENGTH(dt_asn_shipped),6, to_date(to_char(to_date(trim(dt_asn_shipped),'YYMMDD'),
'DD-MON-YY'),'DD-MON-YY'), '') dt_asn_shipped,
TRIM(dt_processed) dt_processed,
TRIM(in_manual) in_manual,
TRIM(ts_last_update) ts_last_update
FROM snurk_cmms_crct018_asn_journl;
BEGIN
FOR l_rec_asn_journal IN cur_asn_journal LOOP
BEGIN
INSERT INTO gfstmie_st_cmms_asn_journal
gsdb_site_code ,
journal_num,
gsdb_site_from_code,
adv_shipping_notice_cnum,
adv_sn_shipping_date,
processed_date,
manual_in_code,
cmms_last_update_cdate,
create_userid,
create_dts,
update_userid,
update_dts
) VALUES
l_rec_asn_journal.cd_asn_plant,
l_rec_asn_journal.no_journal,
l_rec_asn_journal.cd_ship_from,
l_rec_asn_journal.no_asn,
l_rec_asn_journal.dt_asn_shipped,
l_rec_asn_journal.dt_processed,
l_rec_asn_journal.in_manual,
l_rec_asn_journal.ts_last_update,
g_con_user_id,
l_dts_current_gmt,
g_con_user_id,
l_dts_current_gmt
EXCEPTION
WHEN OTHERS THEN
dbms_output.put_line('l_num_exception_pt_7');
--To assign value to error attributes
l_str_email_body := GFSTU_MSG_CONTEXT_STACKER_PA.gfstu_add_msg_context_fn(
SQLERRM || l_str_process_track,
g_con_package_name || l_con_proc_name,
g_con_string_null);
l_rec_apm_error_attributes.job_run_sakey := l_num_job_run_id;
l_rec_apm_error_attributes.proj_acronym_code := GFSTM_PARM_SPECIFICATION_PA.g_con_proj_acronym_code_ta;
l_rec_apm_error_attributes.module_code := l_con_module_code;
l_rec_apm_error_attributes.notes_text := l_str_email_body;
l_rec_apm_error_attributes.msg_id := GFSTM_PARM_SPECIFICATION_PA.g_con_msg_id_invalid_date;
--Calling procedure to log and notify subscribers of transaction
--related errors and informational messages
GFSTM_COMMON_UTL_PA.gfstm_log_message_pr(
SUBSTR(l_str_email_body,1,2000),
g_con_string_null,
g_con_string_null,
SUBSTR(l_str_email_body,1,2000),
l_rec_apm_error_attributes,
g_con_string_null,
l_num_wait_time,
l_num_wait_interval_time,
l_str_msg_action_code,
l_num_oracle_error_code,
l_str_oracle_msg,
l_num_return_code,
l_num_status);
END;
END LOOP;
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('l_num_exception_pt_12');
DBMS_OUTPUT.PUT_LINE('l_num_exception_pt_2 '||l_str_procg_mode_code);
--Rollback uncommitted transactions
ROLLBACK;
--Assigning failure status
o_num_status := g_con_status_failure;
--Assigning procedure end time in GMT
l_dts_end_time := GFSTU_DATETIME_UTILITIES_PA.gfstu_to_gmt_fn;
--To assign value to error attributes
l_str_email_body := GFSTU_MSG_CONTEXT_STACKER_PA.gfstu_add_msg_context_fn(
SQLERRM || l_str_process_track,
g_con_package_name || l_con_proc_name,
g_con_string_null);
l_rec_apm_error_attributes.job_run_sakey := l_num_job_run_id;
l_rec_apm_error_attributes.proj_acronym_code := GFSTM_PARM_SPECIFICATION_PA.g_con_proj_acronym_code_ta;
l_rec_apm_error_attributes.module_code := l_con_module_code;
l_rec_apm_error_attributes.notes_text := l_str_email_body;
l_rec_apm_error_attributes.msg_id := GFSTM_PARM_SPECIFICATION_PA.g_con_msg_id_oracle;
--Calling procedure to log and notify subscribers of transaction
--related errors and informational messages
GFSTM_COMMON_UTL_PA.gfstm_log_message_pr(
SUBSTR(l_str_email_body,1,2000),
g_con_string_null,
g_con_string_null,
SUBSTR(l_str_email_body,1,2000),
l_rec_apm_error_attributes,
g_con_string_null,
l_num_wait_time,
l_num_wait_interval_time,
l_str_msg_action_code,
l_num_oracle_error_code,
l_str_oracle_msg,
l_num_return_code,
l_num_status);
--Calling procedure to update the job status
GFSTM_COMMON_UTL_PA.gfstm_update_job_status_pr(
l_num_job_run_id,
GFSTM_PARM_SPECIFICATION_PA.g_con_process_abort,
l_dts_end_time,
g_con_perf_metric_code,
g_con_zero,
g_con_n,
l_num_oracle_error_code,
l_str_oracle_msg,
l_num_return_code,
l_num_status);
END ;
Thanks,
VinodhHi,
Could you not have reduced your question to what is relevant?
You seem to be saying that this is your problem:
SELECT DECODE ( LENGTH (dt_asn_shipped),
6,
TO_DATE ( TO_CHAR ( TO_DATE ( TRIM (dt_asn_shipped), 'YYMMDD'), 'DD-MON-YY'), 'DD-MON-YY'),
dt_asn_shipped
FROM snurk_cmms_crct018_asn_journl;As far as I can see, problem might be that you decode on UNTRIMMED length.
Also, you could get rid of some the to_date(to_char(to_date), which is nothing more than simply to_date()
Try something like
SELECT CASE LENGTH (TRIM (dt_asn_shipped))
WHEN 6 THEN TO_DATE ( TRIM (dt_asn_shipped), 'YYMMDD')
END
dt_asn_shipped
FROM snurk_cmms_crct018_asn_journl;Regards
Peter -
ORA-01841 when refreshing materialized view
Hi,
I have to upgrade my database from oracle 8.1.7.4 to 9.2.0.1.
I have tested two ways to do it :
1) I upgraded my database from 8i to 9i with the u0801070.sql script.
2) I created an empty 9i database and then I exported the data from the 8i database and imported them to the 9i database.
The two procedures worked fine.
But now, when I try to refresh the mateiralized views with DBA Studio on the database upgraded via export/import, I obtain the error : ORA-01841.
On the database upgraded via u0801070.sql, I don't have the problem.
Why do I have this error ?
Regards,
Rachel TREBUCHET DANJOUError: ORA 1841
Text: (full) year must be between -4713 and +4713 / +9999
Cause:
Action:
*** Important: The notes below are for experienced users - See Note 22080.1
Explanation:
Eg: In a clause like "to_date('XXXX','YYYY')" XXXX is outside of the
range -4713 and +4713.
Note that Year 0 is invalid too. See Bug 106242 for an explanation..
Typically this involves "to_date('00','YYYY')" or similar which is
invalid. It is probably better to use 'RR' rather than 'YY' which
prefixes with an appropriate century.
Eg:
select to_char(to_date('00','yyyy')) from dual;
ORA-01841: (full) year must be between -4713 and +4713
select to_char(to_date('00','rr')) from dual;
01-MAR-2000
Year 2000
~~~~~~~~~
You may also see this error if using a TO_DATE() function
on a date column (or SYSDATE) and your sessions NLS_DATE_FORMAT
includes a 2 digit year mask (RR or YY).
eg: alter session set nls_date_format='DD-MON-RR';
select to_date(sysdate,'DD-MON-YYYY') from dual;
"ORA-01841: (full) year must be between -4713 and +9999, and not be 0"
This is because TO_DATE() expects to work on a CHARACTER
data type and so there is an implicit conversion from
DATE to CHAR.
eg: In the above example SYSDATE of 01-JAN-2000 is implictly
converted to the character string "01-JAN-00", which is
then converted back to a date using a DD-MON-YYYY date format.
This gives a year of 0000 which is invalid, hence ORA-1841.
Note: From Oracle 7.2 onwards the UPPER bound is +9999 and not +4713
Regards,
Reza -
Hi,everyone,
I had installed R Enterprise in my Oracle 11.2.0.1 base on win7,using the R 2.13.2, ORE 1.1, I can using the part function: like
library(ORE)
options(STERM='iESS', str.dendrogram.last="'", editor='emacsclient.exe', show.error.locations=TRUE)
> ore.connect(user = "RQUSER",password = "RQUSERpsw",conn_string = "", all = TRUE)
> ore.is.connected()
[1] TRUE
> ore.ls()
[1] "IRIS_TABLE"
> demo(package = "ORE")
Demos in package 'ORE':
aggregate Aggregation
analysis Basic analysis & data processing operations
basic Basic connectivity to database
binning Binning logic
columnfns Column functions
cor Correlation matrix
crosstab Frequency cross tabulations
derived Handling of derived columns
distributions Distribution, density, and quantile functions
do_eval Embedded R processing
freqanalysis Frequency cross tabulations
graphics Demonstrates visual analysis
group_apply Embedded R processing by group
hypothesis Hyphothesis testing functions
matrix Matrix related operations
nulls Handling of NULL in SQL vs. NA in R
push_pull RDBMS <-> R data transfer
rank Attributed-based ranking of observations
reg Ordinary least squares linear regression
row_apply Embedded R processing by row chunks
sql_like Mapping of R to SQL commands
stepwise Stepwise OLS linear regression
summary Summary functionality
table_apply Embedded R processing of entire table
> demo("aggregate",package = "ORE")
demo(aggregate)
---- ~~~~~~~~~
Type <Return> to start : Return
> #
> # O R A C L E R E N T E R P R I S E S A M P L E L I B R A R Y
> #
> # Name: aggregate.R
> # Description: Demonstrates aggregations
> # See also summary.R
> #
> #
> #
>
> ## Set page width
> options(width = 80)
> # List all accessible tables and views in the Oracle database
> ore.ls()
[1] "IRIS_TABLE"
> # Create a new table called IRIS_TABLE in the Oracle database
> # using the built-in iris data.frame
>
> # First remove previously created IRIS_TABLE objects from the
> # global environment and the database
> if (exists("IRIS_TABLE", globalenv(), inherits = FALSE))
+ rm("IRIS_TABLE", envir = globalenv())
> ore.drop(table = "IRIS_TABLE")
> # Create the table
> ore.create(iris, table = "IRIS_TABLE")
> # Show the updated list of accessible table and views
> ore.ls()
[1] "IRIS_TABLE"
> # Display the class of IRIS_TABLE and where it can be found in
> # the search path
> class(IRIS_TABLE)
[1] "ore.frame"
attr(,"package")
[1] "OREbase"
> search()
[1] ".GlobalEnv" "ore:RQUSER" "ESSR"
[4] "package:ORE" "package:ORExml" "package:OREeda"
[7] "package:OREgraphics" "package:OREstats" "package:MASS"
[10] "package:OREbase" "package:ROracle" "package:DBI"
[13] "package:stats" "package:graphics" "package:grDevices"
[16] "package:utils" "package:datasets" "package:methods"
[19] "Autoloads" "package:base"
> find("IRIS_TABLE")
[1] "ore:RQUSER"
> # Select count(Petal.Length) group by species
> x = aggregate(IRIS_TABLE$Petal.Length,
+ by = list(species = IRIS_TABLE$Species),
+ FUN = length)
> class(x)
[1] "ore.frame"
attr(,"package")
[1] "OREbase"
> x
species x
1 setosa 50
2 versicolor 50
3 virginica 50
> # Repeat FUN = summary, mean, min, max, sd, median, IQR
> aggregate(IRIS_TABLE$Petal.Length, by = list(species = IRIS_TABLE$Species),
+ FUN = summary)
species Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
1 setosa 1.0 1.4 1.50 1.462 1.575 1.9 0
2 versicolor 3.0 4.0 4.35 4.260 4.600 5.1 0
3 virginica 4.5 5.1 5.55 5.552 5.875 6.9 0
> aggregate(IRIS_TABLE$Petal.Length, by = list(species = IRIS_TABLE$Species),
+ FUN = mean)
species x
1 setosa 1.462
2 versicolor 4.260
3 virginica 5.552
> aggregate(IRIS_TABLE$Petal.Length, by = list(species = IRIS_TABLE$Species),
+ FUN = min)
species x
1 setosa 1.0
2 versicolor 3.0
3 virginica 4.5
> aggregate(IRIS_TABLE$Petal.Length, by = list(species = IRIS_TABLE$Species),
+ FUN = max)
species x
1 setosa 1.9
2 versicolor 5.1
3 virginica 6.9
> aggregate(IRIS_TABLE$Petal.Length, by = list(species = IRIS_TABLE$Species),
+ FUN = sd)
species x
1 setosa 0.1736640
2 versicolor 0.4699110
3 virginica 0.5518947
> aggregate(IRIS_TABLE$Petal.Length, by = list(species = IRIS_TABLE$Species),
+ FUN = median)
species x
1 setosa 1.50
2 versicolor 4.35
3 virginica 5.55
> aggregate(IRIS_TABLE$Petal.Length, by = list(species = IRIS_TABLE$Species),
+ FUN = IQR)
species x
1 setosa 0.175
2 versicolor 0.600
3 virginica 0.775
> # More than one grouping column
> x = aggregate(IRIS_TABLE$Petal.Length,
+ by = list(species = IRIS_TABLE$Species,
+ width = IRIS_TABLE$Petal.Width),
+ FUN = length)
> x
species width x
1 setosa 0.1 5
2 setosa 0.2 29
3 setosa 0.3 7
4 setosa 0.4 7
5 setosa 0.5 1
6 setosa 0.6 1
7 versicolor 1.0 7
8 versicolor 1.1 3
9 versicolor 1.2 5
10 versicolor 1.3 13
11 versicolor 1.4 7
12 virginica 1.4 1
13 versicolor 1.5 10
14 virginica 1.5 2
15 versicolor 1.6 3
16 virginica 1.6 1
17 versicolor 1.7 1
18 virginica 1.7 1
19 versicolor 1.8 1
20 virginica 1.8 11
21 virginica 1.9 5
22 virginica 2.0 6
23 virginica 2.1 6
24 virginica 2.2 3
25 virginica 2.3 8
26 virginica 2.4 3
27 virginica 2.5 3
> # Sort the result by ascending value of count
> ore.sort(data = x, by = "x")
species width x
1 virginica 1.4 1
2 virginica 1.7 1
3 versicolor 1.7 1
4 virginica 1.6 1
5 setosa 0.5 1
6 setosa 0.6 1
7 versicolor 1.8 1
8 virginica 1.5 2
9 versicolor 1.1 3
10 virginica 2.4 3
11 virginica 2.5 3
12 virginica 2.2 3
13 versicolor 1.6 3
14 setosa 0.1 5
15 virginica 1.9 5
16 versicolor 1.2 5
17 virginica 2.0 6
18 virginica 2.1 6
19 setosa 0.3 7
20 versicolor 1.4 7
21 setosa 0.4 7
22 versicolor 1.0 7
23 virginica 2.3 8
24 versicolor 1.5 10
25 virginica 1.8 11
26 versicolor 1.3 13
27 setosa 0.2 29
> # by descending value
> ore.sort(data = x, by = "x", reverse = TRUE)
species width x
1 setosa 0.2 29
2 versicolor 1.3 13
3 virginica 1.8 11
4 versicolor 1.5 10
5 virginica 2.3 8
6 setosa 0.4 7
7 setosa 0.3 7
8 versicolor 1.0 7
9 versicolor 1.4 7
10 virginica 2.1 6
11 virginica 2.0 6
12 virginica 1.9 5
13 versicolor 1.2 5
14 setosa 0.1 5
15 versicolor 1.6 3
16 versicolor 1.1 3
17 virginica 2.4 3
18 virginica 2.5 3
19 virginica 2.2 3
20 virginica 1.5 2
21 virginica 1.6 1
22 virginica 1.4 1
23 setosa 0.6 1
24 setosa 0.5 1
25 versicolor 1.8 1
26 virginica 1.7 1
27 versicolor 1.7 1
> # Preserve just 1 row for duplicate x's
> ore.sort(data = x, by = "x", unique.keys = TRUE)
species width x
1 setosa 0.5 1
2 virginica 1.5 2
3 versicolor 1.1 3
4 setosa 0.1 5
5 virginica 2.0 6
6 setosa 0.3 7
7 virginica 2.3 8
8 versicolor 1.5 10
9 virginica 1.8 11
10 versicolor 1.3 13
11 setosa 0.2 29
> ore.sort(data = x, by = "x", unique.keys = TRUE, unique.data = TRUE)
species width x
1 setosa 0.5 1
2 virginica 1.5 2
3 versicolor 1.1 3
4 setosa 0.1 5
5 virginica 2.0 6
6 setosa 0.3 7
7 virginica 2.3 8
8 versicolor 1.5 10
9 virginica 1.8 11
10 versicolor 1.3 13
11 setosa 0.2 29
but when I use the following The ore.doEval command get the errors,
> ore.doEval(function() { 123 })
Error in .oci.GetQuery(conn, statement, ...) :
ORA-29400: data cartridge error
ORA-24323: ?????
ORA-06512: at "RQSYS.RQEVALIMPL", line 23
ORA-06512: at line 4
and I try to run the demo("row_apply", package="ORE") get the same errors:
demo("row_apply",package = "ORE")
demo(row_apply)
---- ~~~~~~~~~
Type <Return> to start : Return
> #
> # O R A C L E R E N T E R P R I S E S A M P L E L I B R A R Y
> #
> # Name: row_apply.R
> # Description: Execute R code on each row
> #
> #
>
> ## Set page width
> options(width = 80)
> # List all accessible tables and views in the Oracle database
> ore.ls()
[1] "IRIS_TABLE"
> # Create a new table called IRIS_TABLE in the Oracle database
> # using the built-in iris data.frame
>
> # First remove previously created IRIS_TABLE objects from the
> # global environment and the database
> if (exists("IRIS_TABLE", globalenv(), inherits = FALSE))
+ rm("IRIS_TABLE", envir = globalenv())
> ore.drop(table = "IRIS_TABLE")
> # Create the table
> ore.create(iris, table = "IRIS_TABLE")
> # Show the updated list of accessible table and views
> ore.ls()
[1] "IRIS_TABLE"
> # Display the class of IRIS_TABLE and where it can be found in
> # the search path
> class(IRIS_TABLE)
[1] "ore.frame"
attr(,"package")
[1] "OREbase"
> search()
[1] ".GlobalEnv" "ore:RQUSER" "ESSR"
[4] "package:ORE" "package:ORExml" "package:OREeda"
[7] "package:OREgraphics" "package:OREstats" "package:MASS"
[10] "package:OREbase" "package:ROracle" "package:DBI"
[13] "package:stats" "package:graphics" "package:grDevices"
[16] "package:utils" "package:datasets" "package:methods"
[19] "Autoloads" "package:base"
> find("IRIS_TABLE")
[1] "ore:RQUSER"
> # The table should now appear in your R environment automatically
> # since you have access to the table now
> ore.ls()
[1] "IRIS_TABLE"
> # This is a database resident table with just metadata on the R side.
> # You will see this below
> class(IRIS_TABLE)
[1] "ore.frame"
attr(,"package")
[1] "OREbase"
> # Apply given R function to each row
> ore.rowApply(IRIS_TABLE,
+ function(dat) {
+ # Any R code goes here. Operates on one row of IRIS_TABLE at
+ # a time
+ cbind(dat, dat$Petal.Length)
+ })
Error in .oci.GetQuery(conn, statement, ...) :
ORA-29400: data cartridge error
ORA-24323: ?????
ORA-06512: at "RQSYS.RQROWEVALIMPL", line 26
ORA-06512: at line 4
>
whether my oracle's version 11.2.0.1 has no the RDBMS bug fix, and other problems? ThanksOracle R Enterprise 1.1. requires Oracle Database 11.2.0.3, 11.2.0.4. On Linux and Windows. Oracle R Enterprise can also work with an 11.2.0.1 or 11.2.0.2 database if it is properly patched.
Embedded R execution will not work without a patched database. Follow this procedure to patch the database:
1. Go to My Oracle Support:http://support.oracle.com
2. Log in and supply your Customer Support ID (CSI).
3. Choose the Patches & Updates tab.
4. In the Patch Search box, type 11678127
and click Search
5. Select the patch for your version of Oracle Database, 11.2.0.1.
6. Click Download to download the patch.
7. Install the patch using OPatch. Ensure that you are using the latest version of OPatch.
Sherry -
I am logged into a development workspace and am able to add new users in HOME|ADMINISTRATION|USERS but when I try to edit them afterward I get the following error:
Application Express Users
ORA-01841: (full) year must be between -4713 and 9999, and not be 0+
Obviously APEX is looking for a date value and not finding it. Anyone else encounter this or know where to look to resolve this? I got the same error in APEX 4.0 so the patch didn't resolve this error. I've done some research in the tables but couldn't find anything that looked like a missing date value.
I'm using an 11gR2 database on OEL 5.5 running in VBOX on my laptop.
Thanks.
RobFIX:
Cause
The issue appears due to a problem with the PASSWORD_LIFE_TIME.
Solution
Using the apex_admin application, navigate to Home > Manage Service > Security then enter integer values for:
* Account Password Lifetime (days) - enter 11688, for example
Apply Changes.
Looks like it is a bug in apex 4.0 which has also affected previous versions (known about since version 1.5)........ -
ORA-01841 - (full) year must be between -4713 and +9999, and not be 0
Hi Comunnity,
Let me explain the scenario:
We want to replicate a number of Discoverer reports, adding more columns to the reports. Due to the internal structure of the views and materialized tables, we can not make the joins inside the Discoverer Administration Edition, so we have decided to replicate the original materialized table adding the columns in order to get what we want. So the new materialized table has built as follows:
CREATE TABLE APPS.GUZMAN_STOCK_DEPRE_EXIST_MAT_X
EMPRESA VARCHAR2(240 BYTE),
COD_ORGANIZACION NUMBER,
COD_SECCION VARCHAR2(40 BYTE),
SECCION VARCHAR2(4000 BYTE),
FAMILIA VARCHAR2(40 BYTE),
NOMBRE_PRODUCTO VARCHAR2(240 BYTE),
DESCRIPCION_ARTICULO VARCHAR2(240 BYTE),
UNIDAD_EXISTENCIA_ACT NUMBER,
PRECIO_MEDIO NUMBER,
FECHA_ULT_VENTA DATE,
FECHA_ULT_COMPRA DATE,
FECHA_ULT_MOVIMIENTO DATE,
PRECIO_ULT_COMPRA NUMBER,
CLASE_UNIDAD VARCHAR2(40 BYTE),
COD_ORG_INV NUMBER,
ORG_INV_NAME VARCHAR2(240 BYTE),
COD_ARTICULO NUMBER,
AÑO VARCHAR2(2 BYTE),
MES VARCHAR2(2 BYTE),
ULTIMO_DIA_TRANS DATE,
SEIS_MESES_ANTES DATE,
DOCE_MESES_ANTES DATE,
DIECIOCHO_MESES_ANTES DATE,
SEIS_MESES NUMBER,
SIETE_DOCE_MESES NUMBER,
TRECE_DIECIOCHO_MESES NUMBER,
FCOMVACIA NUMBER,
TIPO_ARTICULO VARCHAR2(80 BYTE),
TRANSACTION_ID NUMBER,
FECHA_MOVIMIENTO DATE,
TIPO_MOVIMIENTO VARCHAR2(80 BYTE)
TABLESPACE APPLSYSD
PCTUSED 40
NOMONITORING;
The bold fields are the new ones. So we added the materialized table as a new folder in our working business area and add the following new intems:
Valor Compra = CASE WHEN Precio Ult Compra = 0 THEN Importe Stocks ELSE Unidad Existencia Act*Precio Ult Compra END
Importe Stocks = Unidad Existencia Act*Precio Medio
Depreciación = CASE WHEN Valor Compra < Importe Stocks THEN Importe Stocks-Valor Compra ELSE 0 END
DiasMes = CASE WHEN ((((((Mes = '01' OR Mes = '03') OR Mes = '05') OR Mes = '07') OR Mes = '08') OR Mes = '10') OR Mes = '12') THEN 31 WHEN (((Mes = '04' OR Mes = '06') OR Mes = '09') OR Mes = '11') THEN 30 ELSE 28 END
fecha_MES = TO_NUMBER(CONCAT(DiasMes,Mes))
Nueva_Fecha = TO_DATE(CONCAT(fecha_MES,Ano))
Dias = NVL(Nueva_Fecha-Fecha Ult Venta,0)
PorcenDepre = CASE WHEN Dias = 0 AND DiasC < 181 THEN 0 WHEN Dias = 0 AND DiasC > 180 THEN 100 WHEN Dias < 181 THEN 0 WHEN Dias < 361 THEN 25 WHEN Dias < 540 THEN 50 WHEN Dias > 541 THEN 100 ELSE 0 END
Valor Depr = Valor Compra*PorcenDepre/100
DiasC = NVL(Nueva_Fecha-Fecha Ult Compra,0)
PorcenDepreC = CASE WHEN DiasC = 0 THEN 100 WHEN DiasC < 181 THEN 0 WHEN DiasC < 361 THEN 25 WHEN DiasC < 540 THEN 50 WHEN DiasC > 541 THEN 100 ELSE 0 END
Valor DepreC = Valor Compra*PorcenDepreC/100
T6 = CASE WHEN Unidad Existencia Act >= SEISMESES THEN SEISMESES ELSE Unidad Existencia Act END
T12 = CASE WHEN Unidad Existencia Act-T6 > DOCEMESES THEN DOCEMESES WHEN Unidad Existencia Act-T6 < DOCEMESES THEN Unidad Existencia Act-T6 WHEN Unidad Existencia Act-T6 = DOCEMESES THEN Unidad Existencia Act-T6 END
T18 = CASE WHEN Unidad Existencia Act-( T6+T12 ) > DIECIOCHOMESES THEN DIECIOCHOMESES WHEN Unidad Existencia Act-( T6+T12 ) < DIECIOCHOMESES THEN Unidad Existencia Act-( T6+T12 ) WHEN Unidad Existencia Act-( T6+T12 ) = DIECIOCHOMESES THEN Unidad Existencia Act-( T6+T12 ) END
TR = Unidad Existencia Act-( T6+T12+T18 )
DT6 = T6*Precio Medio*0/100
DT12 = ( T12*Precio Medio )*25/100
DT18 = T18*Precio Medio*50/100
DTR = TR*Precio Medio*100/100
DTOTAL = DT6+DT12+DT18+DTRVCIA+DFCOMPVCIA
SEISMESES = CASE WHEN NVL(Seis Meses,0) < 0 THEN 0 ELSE NVL(Seis Meses,0) END
DOCEMESES = CASE WHEN NVL(Siete Doce Meses,0) < 0 THEN 0 ELSE NVL(Siete Doce Meses,0) END
DIECIOCHOMESES = CASE WHEN NVL(Trece Dieciocho Meses,0) < 0 THEN 0 ELSE NVL(Trece Dieciocho Meses,0) END
FCOMPVCIA = DECODE(Fecha Ult Compra,NULL,Unidad Existencia Act,0)
TRVCIA = TR-FCOMPVCIA
DTRVCIA = TRVCIA*Precio Medio*100/100
DFCOMPVCIA = FCOMPVCIA*Precio Medio*100/100
Due to Discoverer does not allow foreign characters (ñ), we have changed the name of Field Año to Ano (as you can check in the Nueva_Fecha calculated field).
Now, when we select the fields (Empresa, Cod Sección, Nombre Producto, Unidad Existencia Act, Precio Medio, Fecha Ult Venta, Fecha Ult Compra, Fecha Ult Movimiento, Precio Ult Compra, Org Inv Name, Ano, Mes, Valor Compra, Importe Stocks, Depreciación, Dias, PorcenDepre, Valor Depr, DiasC, PorcenDepreC, ValorDepreC) in order to build a new report, Discoverer shows us the ORA-01841 Error.
Can be produced the error by the way in which discoverer stores the Nueva_Fecha Field?, cause as we check the field in Adminostration Edition, it appears as TO_DATE(CONCAT(fecha_MES,'Ano')) (with the field Ano in simple quotes), or just by any other circumstance?
Thanks a lot for your help.
Luis.
Update:*
It seems that the problem comes with the item created in Discoverer Administration Edition "Nueva_Fecha":
Nueva_Fecha = TO_DATE(CONCAT(fecha_MES,Ano))
(Keep in mind that:
fecha_MES = TO_NUMBER(CONCAT(DiasMes,Mes))
DiasMes = CASE WHEN ((((((Mes = '01' OR Mes = '03') OR Mes = '05') OR Mes = '07') OR Mes = '08') OR Mes = '10') OR Mes = '12') THEN 31 WHEN (((Mes = '04' OR Mes = '06') OR Mes = '09') OR Mes = '11') THEN 30 ELSE 28 END
), so any created field that uses Nueva_Fecha or is derivated from Nueva_Fecha causes the error (e.g. --> Dias = NVL(Nueva_Fecha-Fecha Ult Venta,0))
Then; How can we configure the field in order that discoverer deals with it as a date field?
Regards,
Luis.
Edited by: GGOracle User on 27-may-2010 15:23Hi,
I think you forgot the separator in the string you want to convert to date.
Your problem lies in the format of the date you are trying to create.
try
Nueva_Fecha = TO_DATE(DiasMes||'-'||Mes||'-'||Ano ,'DD-MM-YYYY')
BTW
you can use || instead of CONCAT so that you can concatenate more than 2 values each time
Tamir -
Hi,
***Condition***
- Table1 has
[field1] : varchar2 (20)
(data: '20110301', '20110302', ... (No null values))
- View2 has
[date1]: to_date(Table1.field1, 'yyyymmdd')
under the condition above, ora-01841 returned by the following sql[1]:
select date1 from View2
where to_char(View2.date1, 'rrrr') = '2011' and substrb(to_char(View2.date1, 'mm'),1) = '03'
i can get the records by the following sql[2]:
select date1 from View2
where to_char(View2.date1, 'rrrrmm') = '2011' || '03'
any idea of the difference between sql[1] & [2]?
*Oracle version is 11g
Edited by: user5334162 on 2012/03/26 23:58This problem was solved by
adding "ORDERED" hint & disabling cardinarity feedback option. -
Hi expert,
I have two statement in my procedure :
r_period IN VARCHAR2
v_from_date date;
v_to_date date;
v_from_date := to_date('1/4/'||to_char(r_period),'dd/mm/yyyy');
v_to_date := to_date('31/3/'||to_char((to_number(r_period)-5)),'dd/mm/yyyy');
when I ran procedure , got following error message:
"ORA-01841 :(full) year must be between -4713 and +9999, and not be 0 "
appreciate very much if help me to resolve it.
Many Thanks,Hi,
I can't re-produce the problem.
Whenever you have a problem, please post a complete test script that people can run to re-create the problem and test their ideas. In this case, include the complete procedure code (or a simplified version that has the same problem) and the code that you use to call it.
Always say which version of Oracle you're using (for example, 11.2.0.2.0).
See the forum FAQ {message:id=9360002}
918440 wrote:
Hi expert,
I have two statement in my procedure :
r_period IN VARCHAR2
v_from_date date;
v_to_date date;
v_from_date := to_date('1/4/'||to_char(r_period),'dd/mm/yyyy');
v_to_date := to_date('31/3/'||to_char((to_number(r_period)-5)),'dd/mm/yyyy');Usuaully, when people talk about dates "from x to y", x is earlier than y. You're setting v_from_date to be over 5 years later than v_to_date. That's not the cause of the ORA-01841 error, or any other Oracle error, but it is likely to confuse whoever has to maintain this code.
when I ran procedure , got following error message:
"ORA-01841 :(full) year must be between -4713 and +9999, and not be 0 "That's one of those error messages that actually means what it says. Apparantly, you're calling the procedure with a bad value for r_period. I can't say anthing more specific until you post a complete script.
Converting from NUMBERs to VARCHAR2s to DATEs is very error prone. Try to avoid doing so many conversions. For example, you're doing 3 data type conversions to compute v_from_date. You could get the same results with only 1 conversion, like this:
v_to_date := ADD_MONTHS ( TO_DATE ( '31/3/' || r_period
, 'DD/MM/YYYY'
, -5 * 12
);Personally, I would do it this way:
v_to_date := ADD_MONTHS ( TRUNC ( TO_DATE (r_period, 'YYYY')
, 'YEAR'
) - 1
, -57
);which also uses only 1 conversion, and that conversion is very simple. You can still get errors, including ORA-01841, if you pass a bad value for r_period, but the errors will be easier to find and fix. -
Hi Experts,
I seem to be getting the error "Error ORA-01841: (full) year must be between -4713 and +9999, and not be 0" when my dates are in the year 2000. Here's my SQL:
DROP TABLE PER_ALL_ASSIGNMENTS_M_XTERN;
create table PER_ALL_ASSIGNMENTS_M_XTERN(
PERSON_NUMBER VARCHAR2(30 CHAR),
ASSIGNMENT_NUMBER VARCHAR2(30 CHAR),
EFFECTIVE_START_DATE DATE,
EFFECTIVE_END_DATE DATE,
EFFECTIVE_SEQUENCE NUMBER(4),
ASS_ATTRIBUTE_CATEGORY VARCHAR2(30 CHAR),
ASS_ATTRIBUTE1 VARCHAR2(150 CHAR),
ASS_ATTRIBUTE_NUMBER20 NUMBER,
ASS_ATTRIBUTE_DATE1 DATE,
ASS_ATTRIBUTE_DATE2 DATE,
ASS_ATTRIBUTE_DATE3 DATE,
ASS_ATTRIBUTE_DATE4 DATE,
ASS_ATTRIBUTE_DATE5 DATE,
ASS_ATTRIBUTE_DATE6 DATE,
ASS_ATTRIBUTE_DATE7 DATE,
ASS_ATTRIBUTE_DATE8 DATE,
ASS_ATTRIBUTE_DATE9 DATE,
ASS_ATTRIBUTE_DATE10 DATE,
ASS_ATTRIBUTE_DATE11 DATE,
ASS_ATTRIBUTE_DATE12 DATE,
ASS_ATTRIBUTE_DATE13 DATE,
ASS_ATTRIBUTE_DATE14 DATE,
ASS_ATTRIBUTE_DATE15 DATE,
ASG_INFORMATION_CATEGORY VARCHAR2(30 CHAR),
ASG_INFORMATION1 VARCHAR2(150 CHAR),
ASG_INFORMATION_NUMBER20 NUMBER,
ASG_INFORMATION_DATE1 DATE,
ASG_INFORMATION_DATE2 DATE,
ASG_INFORMATION_DATE3 DATE,
ASG_INFORMATION_DATE4 DATE,
ASG_INFORMATION_DATE5 DATE,
ASG_INFORMATION_DATE6 DATE,
ASG_INFORMATION_DATE7 DATE,
ASG_INFORMATION_DATE8 DATE,
ASG_INFORMATION_DATE9 DATE,
ASG_INFORMATION_DATE10 DATE,
ASG_INFORMATION_DATE11 DATE,
ASG_INFORMATION_DATE12 DATE,
ASG_INFORMATION_DATE13 DATE,
ASG_INFORMATION_DATE14 DATE,
ASG_INFORMATION_DATE15 DATE
organization external
( default directory APPLCP_FILE_DIR
access parameters
( records delimited by newline skip 1
badfile APPLCP_FILE_DIR:'PER_ALL_ASSIGNMENTS_M_XTERN.bad'
logfile APPLCP_FILE_DIR:'PER_ALL_ASSIGNMENTS_M_XTERN.log'
fields terminated by ',' OPTIONALLY ENCLOSED BY '"'
(PERSON_NUMBER,
ASSIGNMENT_NUMBER,
EFFECTIVE_START_DATE CHAR(20) DATE_FORMAT DATE MASK "DD-MON-YYYY",
EFFECTIVE_END_DATE CHAR(20) DATE_FORMAT DATE MASK "DD-MON-YYYY",
EFFECTIVE_SEQUENCE,
ASS_ATTRIBUTE_CATEGORY,
ASS_ATTRIBUTE1,
ASS_ATTRIBUTE_NUMBER20,
ASS_ATTRIBUTE_DATE1 CHAR(20) DATE_FORMAT DATE MASK "DD-MON-YYYY",
ASS_ATTRIBUTE_DATE2 CHAR(20) DATE_FORMAT DATE MASK "DD-MON-YYYY",
ASS_ATTRIBUTE_DATE3 CHAR(20) DATE_FORMAT DATE MASK "DD-MON-YYYY",
ASS_ATTRIBUTE_DATE4 CHAR(20) DATE_FORMAT DATE MASK "DD-MON-YYYY",
ASS_ATTRIBUTE_DATE5 CHAR(20) DATE_FORMAT DATE MASK "DD-MON-YYYY",
ASS_ATTRIBUTE_DATE6 CHAR(20) DATE_FORMAT DATE MASK "DD-MON-YYYY",
ASS_ATTRIBUTE_DATE7 CHAR(20) DATE_FORMAT DATE MASK "DD-MON-YYYY",
ASS_ATTRIBUTE_DATE8 CHAR(20) DATE_FORMAT DATE MASK "DD-MON-YYYY",
ASS_ATTRIBUTE_DATE9 CHAR(20) DATE_FORMAT DATE MASK "DD-MON-YYYY",
ASS_ATTRIBUTE_DATE10 CHAR(20) DATE_FORMAT DATE MASK "DD-MON-YYYY",
ASS_ATTRIBUTE_DATE11 CHAR(20) DATE_FORMAT DATE MASK "DD-MON-YYYY",
ASS_ATTRIBUTE_DATE12 CHAR(20) DATE_FORMAT DATE MASK "DD-MON-YYYY",
ASS_ATTRIBUTE_DATE13 CHAR(20) DATE_FORMAT DATE MASK "DD-MON-YYYY",
ASS_ATTRIBUTE_DATE14 CHAR(20) DATE_FORMAT DATE MASK "DD-MON-YYYY",
ASS_ATTRIBUTE_DATE15 CHAR(20) DATE_FORMAT DATE MASK "DD-MON-YYYY",
ASG_INFORMATION_CATEGORY,
ASG_INFORMATION1,
ASG_INFORMATION_NUMBER20,
ASG_INFORMATION_DATE1 CHAR(20) DATE_FORMAT DATE MASK "DD-MON-YYYY",
ASG_INFORMATION_DATE2 CHAR(20) DATE_FORMAT DATE MASK "DD-MON-YYYY",
ASG_INFORMATION_DATE3 CHAR(20) DATE_FORMAT DATE MASK "DD-MON-YYYY",
ASG_INFORMATION_DATE4 CHAR(20) DATE_FORMAT DATE MASK "DD-MON-YYYY",
ASG_INFORMATION_DATE5 CHAR(20) DATE_FORMAT DATE MASK "DD-MON-YYYY",
ASG_INFORMATION_DATE6 CHAR(20) DATE_FORMAT DATE MASK "DD-MON-YYYY",
ASG_INFORMATION_DATE7 CHAR(20) DATE_FORMAT DATE MASK "DD-MON-YYYY",
ASG_INFORMATION_DATE8 CHAR(20) DATE_FORMAT DATE MASK "DD-MON-YYYY",
ASG_INFORMATION_DATE9 CHAR(20) DATE_FORMAT DATE MASK "DD-MON-YYYY",
ASG_INFORMATION_DATE10 CHAR(20) DATE_FORMAT DATE MASK "DD-MON-YYYY",
ASG_INFORMATION_DATE11 CHAR(20) DATE_FORMAT DATE MASK "DD-MON-YYYY",
ASG_INFORMATION_DATE12 CHAR(20) DATE_FORMAT DATE MASK "DD-MON-YYYY",
ASG_INFORMATION_DATE13 CHAR(20) DATE_FORMAT DATE MASK "DD-MON-YYYY",
ASG_INFORMATION_DATE14 CHAR(20) DATE_FORMAT DATE MASK "DD-MON-YYYY",
ASG_INFORMATION_DATE15 CHAR(20) DATE_FORMAT DATE MASK "DD-MON-YYYY"
location ('PER_ALL_ASSIGNMENTS_M.csv')
REJECT LIMIT UNLIMITED;
...and getting errors when data looks like the following:
E040101,EE040101,*1-Aug-2000*,31-Dec-4712,1,,NDVC,YES,DE,SFC,N,STIP Plan - Pressure,,,,,,,E040101,,,,2080,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,31113,31113,31113,31113,31113,31113,,,1-Jan-2012,31-Dec-2012,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
...error message:
error processing column EFFECTIVE_START_DATE in row 19 for datafile /u05/dbadir/jmf/incident_logs/PER_ALL_ASSIGNMENTS_M.csv
ORA-01841: (full) year must be between -4713 and +9999, and not be 0
Thanks,
ThaiHere is a snippet of the bad file data:
E040110,EE040110,01-Aug-00,31-Dec-12,1,,NDVC,YES,DE,SFC,N,STIP Plan - Pressure,,,,,,,E040110,,,,2080,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,27667.2,27667.2,27667.2,27667.2,27667.2,27667.2,,,01-Jan-12,31-Dec-12,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
E040100,EE040100,01-May-00,31-Dec-12,1,,NDVC,YES,DE,SFC,N,STIP Plan - Pressure,,,,,,,E040100,,,,2080,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,31113,31113,31113,31113,31113,31113,,,01-Jan-12,31-Dec-12,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
E040101,EE040101,01-Aug-00,31-Dec-12,1,,NDVC,YES,DE,SFC,N,STIP Plan - Pressure,,,,,,,E040101,,,,2080,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,31113,31113,31113,31113,31113,31113,,,01-Jan-12,31-Dec-12,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
E000916,EE000916,01-Oct-00,31-Dec-12,1,,NDVC,YES,NL,SFC-Commercial,E,SIP Plan - Control Technologies,,,,,,,E000916,21000000,555000,99000,2080,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,10,,,,,,,,,,,,34905.65,34905.65,34905.65,34905.65,34905.65,34905.65,,,01-Jan-12,31-Dec-12,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
E000807,EE000807,03-Jan-00,31-Dec-12,1,,NDVC,YES,FR,SFC-Commercial,E,STIP Plan - Cross BU,,,,,,,E000807,,,,2080,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,35448.56,35448.56,35448.56,35448.56,35448.56,35448.56,,,01-Jan-12,31-Dec-12,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
E000851,EE000851,25-Apr-00,31-Dec-12,1,,NDVC,YES,FR,SFC-Commercial,E,SIP Plan - Control Technologies,,,,,,,E000851,21000000,555000,99000,2080,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,13,,,,,,,,,,,,43283.76,43283.76,43283.76,43283.76,43283.76,43283.76,,,01-Jan-12,31-Dec-12,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
So, the successfully loaded data is being loaded where year=2003 in the CSV as year=0003. Even though the data is loaded fine the data is not correct. For some reason the external table is set to have the year truncated. -
Some photos are not sorted correctly by date
I just imported some photos from my friends camera who were on the same trip. However, I noticed that a couple (not all) of his photos are not sorted correctly by date in the Event. A photo from day 3 somehow comes before the photos from day 2. I checked the extended information and the dates on the photo are correct. Has anyone had this problem and know of a solution? Thanks.
It might be of some help to delete the photo cache. Please see this link - http://support.apple.com/kb/TS1314
-
How can I sort pictures by date and than by time stamp ?
The approx. 2.000 pictures was taken by two cameras.
Both cameras intern date and time where adjusted before the for session.
It seems that Aperture 3.3.1 can´t manage it, can it?
In the browser there is only one common field for date and time.
I shoot the picture with two Canon 5D Mark II and Mark-III in JPG and RAW mode.
The file name only is totally confusing for sorting.
Like IMG_0008, _MG_0022 for Mark-II
and
_L2A8410 for Mark-III.Hi,
I am not sure, which sort order you want to achieve? If you sort by the date field, the images will be sorted chronologically, ascending or descending, according to date and time - isn't what what you want?
Can it be that you have a time zone problem? Compare the dates on the images that should be sorted side by side.
Unless you specify "Camera Time" and "Actual Time" on import, Aperture will assume that the camera time has been your current system time.
Canon 5D Mark II and Mark-III
And unfortunately, both your cameras are exactly the two cameras that I know, where the time zone correction in Aperture is buggy and does not have much effect. I cannot find the discussion again right now, but look for a thread by Frank Caggiano on time zone correction.
Regards
Léonie -
ORA-1839 date not validfor month
I am getting ORA-1839 date not valid for month specified for fallowing query
select message_id,value_dt from tms_view_fx1
where TRUNC(to_date('20061124','YYYYMMDD') - TO_DATE(value_dt,'YYYYMMDD')) >=1
what will be the solution please helpWell the real solution is to stop using a string datatype to hold date values.
Your problem is that you have values in that column which either do not hold dates or else hold dates in a different format to the one you sre using in that mask. As a work around you will need to build a user defined function to trap the exception and use that in your query instead.
Cheers, APC
P.S. Why are you using TRUNC()? If you don't include a time element in the string the date is TRUNC-ed already. -
Weird Date Problem in SQL Query
Dear Members,
Iam using the following query:
SQL>select api.attribute2 PO_NO,
substr(api.attribute4, 10, 5) REL_NO,
api.invoice_num,
SUM(T.ACCOUNTED_DR) DR,
SUM(T.ACCOUNTED_CR) CR
from gl.gl_je_lines t, GL_CODE_COMBINATIONS GCC, ap_invoices_all api
WHERE T.SET_OF_BOOKS_ID IN (7)
AND TO_DATE(TO_DATE(t.PERIOD_NAME, 'MON-YY'), 'DD-MON-YY') =
TO_DATE(TO_DATE('&P_PERIOD_FROM', 'MON-YY'), 'DD-MON-YY')
AND TO_DATE(TO_DATE(t.PERIOD_NAME, 'MON-YY'), 'DD-MON-YY') <=
TO_DATE(TO_DATE('&P_PERIOD_TO', 'MON-YY'), 'DD-MON-YY')
AND T.CODE_COMBINATION_ID = GCC.CODE_COMBINATION_ID
AND GCC.SEGMENT5 = '&P_ACCOUNT'
and t.reference_2 = api.invoice_id
GROUP BY api.attribute2, substr(api.attribute4, 10, 5), api.invoice_num
order by api.attribute2, substr(api.attribute4, 10, 5), api.invoice_num
In the above query iam giving two types of parameters:
Type1:
Account:=17400650
P_PERIOD_FROM:='JAN-07'
P_PERIOD_to:='DEC-07'
For the above type of parameters the query is running fine and giving desired results.
Type2:
Account:=36210040
P_PERIOD_FROM:='JAN-07'
P_PERIOD_to:='DEC-07'
For the above type of parameters it is giving me the error: ora-01843 not a valid month_
Can any one please tell me what is the reason for this weird problem.
Your inputs will be of great help to me.
Thanks in advance.
Best Regards,
Arun ReddyPlease review Note:338832.1
How to debug ORA-01843: not a valid month, ORA-01821: date format not recognized, ORA-1801
Maybe you are looking for
-
Error in webdynpro application
Dear gurus. Im getting following error how to rectify it ? we don't have Basis guy so im also doing the basis stuff and im new in it . Error when processing your request What has happened? The URL http://sapr3dq:8000/sap/bc/webdynpro/sap/zsaptechnica
-
How do I get itunes to show me itunes library on the server
Hello -- I rans itunes on a friends windows 7 computer and one of the selections on the left side of the screen was "servers" --- I have the same server on my home system, but I don''t see that "server" selection -- It there a setting in iTunes pr
-
Transporter No and Transporter Name
Hi , I want to get field Transporter No and Transporter Name it was maintained in sale order (Partner Tab).If it is maintained in Text means i can use 'READ_TEXT' function but it was maintained in (Partner Tab).Can you help me which table contain tra
-
I am trying to burn a achieved file on a cd iDVD or iMovie does not recognize the format. Any ideas? Thanks
-
Imac won't start. Help.
Ok my late 2012 imac just won't start up,maws stuck at the grey apple logo and spinning thingy. Followed everything here, nothing worked: http://support.apple.com/kb/ts2570 My business is now held up / dead in it's tracks and I don't know what to do.