Re: Catching Oracle Errors

2012-07-11 Thread Dan Gentry
Thanks Ian.  I'll see what I can do.


>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/django-users/-/EYbdNNR4bS8J.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.



Re: Catching Oracle Errors

2012-07-11 Thread Ian
On Tuesday, July 10, 2012 7:45:58 AM UTC-6, Dan Gentry wrote:
>
> My Django app runs on an Oracle database.
>
> A few times a year, the database is unavailable because of a scheduled 
> process or unplanned downtime. However, I can't see how to catch the error 
> and give a useful message back to the requester. Instead, a 500 error is 
> triggered, and I get an email (or hundreds) showing the exception. One 
> example is:
>
>   File 
> "/opt/UDO/env/events/lib/python2.6/site-packages/django/db/backends/oracle/base.py",
>  line 447, in _cursor
> self.connection = Database.connect(conn_string, **conn_params)
>
> DatabaseError: ORA-01035: ORACLE only available to users with RESTRICTED 
> SESSION privilege
>
> I see a similar error with a different ORA number when the DB is down.
>
> Because the exception is thrown deep within the Django libraries, and can 
> be triggered by any of my views or the built in admin views, I don't know 
> where any exception trapping code would go.
>
> Any suggestions?
>
There's nothing specific to Oracle about this.  First, make sure you've 
read:

https://docs.djangoproject.com/en/1.4/howto/error-reporting/

In your case you might do any of the following:

1) Customize the 500.html server error template to provide a more 
user-friendly message.

2) Customize the server error view, which by default just renders the 
500.html template:
https://docs.djangoproject.com/en/1.4/topics/http/views/#the-500-server-error-view

3) Use a middleware to customize completely how otherwise unhandled errors 
are processed.  You can create a customized 500 (or 503) response and do 
whatever admin notification and other processing you want.

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/django-users/-/r5lfeWa1iAgJ.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.



Catching Oracle Errors

2012-07-10 Thread Dan Gentry


My Django app runs on an Oracle database.

A few times a year, the database is unavailable because of a scheduled 
process or unplanned downtime. However, I can't see how to catch the error 
and give a useful message back to the requester. Instead, a 500 error is 
triggered, and I get an email (or hundreds) showing the exception. One 
example is:

  File 
"/opt/UDO/env/events/lib/python2.6/site-packages/django/db/backends/oracle/base.py",
 line 447, in _cursor
self.connection = Database.connect(conn_string, **conn_params)

DatabaseError: ORA-01035: ORACLE only available to users with RESTRICTED 
SESSION privilege

I see a similar error with a different ORA number when the DB is down.

Because the exception is thrown deep within the Django libraries, and can 
be triggered by any of my views or the built in admin views, I don't know 
where any exception trapping code would go.

Any suggestions?

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/django-users/-/DED1N0VNlGwJ.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.