Уведомления

Группа в Telegram: @pythonsu

#1 Май 14, 2008 09:38:55

ingvar
От:
Зарегистрирован: 2008-04-04
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

sqlalchemy + oracle

Народ помогите решить проблему:

надо сказать sqlalchemy, чтобы он перекодил (в utf-16 с 1251) ошибки с базы, а не возвращал последовательность байт в эксэпшн,

типа:
(<class ‘sqlalchemy.exceptions.DatabaseError’>, DatabaseError('(DatabaseError) ORA-01400: \xed\xe5\xe2\xee\xe7\xec\xee\xe6\xed\xee \xe2\xf1\xf2\xe0\xe2\xe8\xf2\xfc NULL \xe2 (“SCOTT”.“LDAP”.“ID”)\n',), <traceback object at 0x03657210>)

можно выдергивать последовательность и перекодить вручную или NLS_LANG в utf16 ставить, но это крайние варианты.

Решение нашлось: Можно перекодить не весь тупл sys.exc_info, а отдельно sys.exc_value, который чисто содержит исключение, полученное из БД.



Отредактировано (Май 22, 2008 19:04:37)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version