Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: date insertion error
Yousaf wrote:
> Hi,
>
> I am developing an ASP VBScript app, and trying the following query via ASP
> code:
>
> INSERT INTO RISK(RISK_NO, USER_ID, DESCRIPTION, RAISED_BY, LOG_DATE, IMPACT,
> OWNER, RESOLUTION, STATUS, EXPECTED_CLOSURE_DATE, CLOSED_DATE,
> ADDITIONAL_OWNER, OTHER_OWNER)
>
> VALUES(RISK_NOSeq.nextval, 'ROCKERM' ,'dsfda','HILLJE', SYSDATE, 'H',
> 'TOWDXX', '-','O', '09-AUG-1938', '09-AUG-1938', 'N', '-')
>
> And it is throwing up the following error:
>
> Error Type:
> OraOLEDB (0x80040E14)
> ORA-01858: a non-numeric character was found where a numeric was expected
>
>
> But the strange thing is, if I run the same query in SQL Plus, it inserts a
> record without throwing any error!
>
> Could anyone shed some light on that?
>
> Thanking you in advance
>
> Regards
I agree with the other comments but want to point out that SQL*Plus facilitates what is known as implicit conversion: Oracle will attempt to make up for your bad coding by changing data types. This is a bad thing to rely upon and you should always make ALL conversion explicit.
I'd be wraping TO_DATE around the dates and if there are any numeric fields removing the single quote marks.
-- Daniel Morgan http://www.outreach.washington.edu/ext/certificates/oad/oad_crs.asp http://www.outreach.washington.edu/ext/certificates/aoa/aoa_crs.asp damorgan_at_x.washington.edu (replace 'x' with a 'u' to reply)Received on Mon Nov 24 2003 - 14:31:09 CST