Чтение поля uniqueidentifier из MSSQL с использованием python - PullRequest
0 голосов
/ 04 апреля 2011

Я использовал pyodbc для доступа к моей базе данных MSSQL.

При чтении поля uniqueidentifier из MSSQL в моем MacOS я могу вывести правильное значение поля udid (например, 4C444660-6003-13CE-CBD5-8478B3C9C984), однако, когда я запускаю тот же код в Linux CentOS,я просто вижу очень странную строку типа "??? E ?? 6 ?????? c", и типом значения является "buffer", а не "str", как в MacOS.

Не могли бы выобъясните мне, почему это так и как я могу получить правильное значение uidi на Linux?Спасибо

Ответы [ 2 ]

5 голосов
/ 07 апреля 2011

В Linux я использую str (uuid.UUID (bytes_le = value)). Upper (), чтобы получить строку типа 4C444660-6003-13CE-CBD5-8478B3C9C984 поля uniqueidentifier

1 голос
/ 20 июля 2015

Этому несколько лет, но мне недавно пришлось решать эту проблему. Мое решение состояло в том, чтобы просто ЗАБРАТЬ уникальный идентификатор как VARCHAR, что сделало мой код Python красивым и аккуратным:

SELECT CAST(unique_id_column AS VARCHAR(36)) AS my_id FROM...

Затем в Python просто выведите row.my_id.

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