Python & SQL Server - PullRequest
       6

Python & SQL Server

0 голосов
/ 23 февраля 2010

Когда я делаю оператор select для поля varbinary в Microsoft Enterprise Manager, я получаю поле в шестнадцатеричном формате readabel, например, ab2c2f2d ... но когда я делаю ту же оценку с помощью pymssql, я получаю бред

выбранная оценка: выберите x из таблицы - где x поле varbinary

Может кто-нибудь помочь с этой проблемой?

1 Ответ

2 голосов
/ 23 февраля 2010

Microsoft Enterprise Manager преобразует двоичное значение в шестнадцатеричную строку для вас.

Один из вариантов - изменить запрос на таблицу SELECT CAST (x AS varchar) FROM. Это позволит SQL Server преобразовать varbinary в шестнадцатеричную строку для вас, http://msdn.microsoft.com/en-us/library/aa226054(SQL.80).aspx

Другой вариант - использовать модуль python, binascii , чтобы самостоятельно преобразовать двоичные данные в шестнадцатеричную строку. Для этого вы используете функции binascii.b2a_hex (data) или binascii.hexlify (data).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...