VBcoders Guest



Don't have an account yet? Register
 


Forgot Password?



Resolution to the

by John Galanopoulos (10 Submissions)
Category: Debugging and Error Handling
Compatability: Visual Basic 5.0
Difficulty: Intermediate
Date Added: Wed 3rd February 2021
Rating: (3 Votes)

Finally a valid resolution to this strange Oracle error.

Rate Resolution to the

The "ORA-01843" Error; How-Not-To  

 


I have seen many developers (specifically those who deal with ORACLE 
backends
) knocking themselves out (i was one of them) with this strange 
error while trying to execute an SQL query with a date field in it. 


For some strange reason, Oracle seems to react with your date format 
'mm/dd/yyyy' (or 'dd/mm/yyyy') 
and raises this error.


The first thing i did, was to check whether the registry value 
HKEY_LOCAL_MACHINE\Software\ORACLE\nls_date_format  was of the format 
"dd/mm/yyyy".


 And it was!! After i tried many things, i returned to that key and i 
changed the format. Still nothing. This key seems to have no effect to the way 
ORACLE databases handle date values.


I went back to my source and after the line where my connection to the 
ORACLE database was initialized, i wrote :


strSQL  = "ALTER SESSION SET NLS_DATE_FORMAT = 
'DD/MM/YYYY'"


{The following line applies to Oracle Objects for OLE ( aka OO4O). If 
you use ADO, RDO, DAO, ODBC API etc etc write it in it's relative format}.


 myOraDB.ExecuteSQL (strSQL)


  
  
 Guess what ppl. It worked!


All my Insert/Update/Delete SQL statements that included a date value where 
properly inserted into the Oracle database table. No errors so no problems :-)



 More oracle tips at http://aboutoracle.blogspot.com

Download this snippet    Add to My Saved Code

Resolution to the Comments

No comments have been posted about Resolution to the. Why not be the first to post a comment about Resolution to the.

Post your comment

Subject:
Message:
0/1000 characters