Уведомления

Группа в Telegram: @pythonsu

#1 Июль 24, 2009 03:02:20

pyuser
От:
Зарегистрирован: 2007-05-13
Сообщения: 658
Репутация: +  36  -
Профиль   Отправить e-mail  

pyodbc mssql и ошибка 6603

Доброго времени суток!
Суть проблемы в следующем:
python 2.4.4 pywin32 2.13 pyodbc 2.1.6 (server 2003)
для записи данных в БД используется хранимая процедура одним из параметров которой является достаточно большой текст (порядка полумегабайта).
вызов хранимой процедуры (cursor.execute(“exec procedure ?, ?, ?”, parameters)) не выдает ошибки, но данные в базу не ложаться. В результате отслеживания прохождения запроса на sql-сервере выяснилось, что сервер выдает ошибку 6603.
поиск вариантов обхода ошибки ничего не дал (данные более 4Кb обрезаются и т.д., предлагают поставить сервиспак и обновить msdac, но уже стоит SP более свежий и все что нужно обновить, давно обновлено)
если для соединения с БД вместо pyodbc использовать odbc из пакета pywin32, то ни каких проблем при выше описанном вызове не происходит
Кто-нибудь сталкивался с подобной проблемой? Подскажите, что нужно сделать.



Офлайн

#2 Июль 24, 2009 08:59:41

pyuser
От:
Зарегистрирован: 2007-05-13
Сообщения: 658
Репутация: +  36  -
Профиль   Отправить e-mail  

pyodbc mssql и ошибка 6603

Пролблема решилась тремя символами кода :)
вместо:

cursor.execute("exec procedure ?, ?, ?", parameters)
написал:
cursor.execute("execute procedure ?, ?, ?", parameters)
в чем разница, откровенно говоря, не понял, но все работает



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version