From: Tony B. <anb...@ho...> - 2002-12-11 22:54:43
|
Question regarding error handling when using stored procedures. If I have a procedure usp_delete_database_data which takes 3 parameters @dbID int, @error_no int output and @error_desc varchar(255) output, and I call this procedure using something as follows: try: varTest = c.callproc('usp_delete_database_data',{'@dbID':varDBID,'@error_no':varErrorNo,'@error_desc':varErrorDesc}) except Sybase.DatabaseError: print "Unable to delete database data for database_id" else: print "Success" Is there any way to capture the error_no and error_desc return variables? If I simply call the procedure using c.callproc outside of a try block and an SQL error occurs within the procedure, Python raises the Sybase.DatabaseError and the script blows up. When inside the try block the varErrorNo and varErrorDesc are not populated. I'm assuming this is because the c.callproc() doesn't really run successfully because of the Sybase.DatabaseError that is occurring? The procedure error that I am testing is a simple 2601 duplicate key insert error. I need the c.callproc() to run successfully and then be able to capture the error_no and error_desc outputs. Perhaps I'm missing something? Thanks _________________________________________________________________ Tired of spam? Get advanced junk mail protection with MSN 8. http://join.msn.com/?page=features/junkmail |