Найти - Пользователи
Полная версия: Обработка ошибки хранимой процедуры pymssql + python 3.4.3
Начало » Базы данных » Обработка ошибки хранимой процедуры pymssql + python 3.4.3
1
AEX
Доброго дня
Есть процедурка, которая при неверном действии юзера генерит raiserror c разными severity в зависимости от типа ошибки.
Я пытаюсь обработать это сообщение
try:
    excur.callproc('[dbo].[proc_LoadCheck]',(DropID, TsID, Door, UserName,))
    conn.commit()
except pymssql.DatabaseError as e:
    print ('Error user input')
Оно вроде все хорошо. Но есть вопрос, как сделать так, чтобы в зависимости от того или иного уровня ошибки я мог вывести на экран нечто конкретное. Например что-то вроде:
if e.severity == 16: 
print ('Err1')

Спасибо.
PooH
Придеться пользоваться низкоуровневым модулем _mssql вместо DB-API, у него в _mssql.MSSQLDatabaseException есть severity. А уровень DB-API построен уже поверх него, и в callproc, перехватывает MSSQLDatabaseException, и бросает DatabaseError. Подробности здесь и здесь
AEX
Премного благодарен. Все получилось.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB