-1

我使用 pyodbc 访问我的 MSSQL 数据库。

从 MSSQL 读取 uniqueidentifier 字段时,在我的 MacOS 中,我可以打印 udid 字段的正确值(例如 4C444660-6003-13CE-CBD5-8478B3C9C984),但是当我在 Linux CentOS 上运行相同的代码时,我只看到非常奇怪的字符串比如“???E??6??????c”,值的类型是“buffer”,而不是MacOS中的“str”。

你能解释一下为什么会这样,我怎样才能在 linux 上获得正确的 uidi 值?谢谢

4

2 回答 2

5

在 linux 中,我使用 str(uuid.UUID(bytes_le=value)).upper() 来获取 uniqueidentifier 字段的 4C444660-6003-13CE-CBD5-8478B3C9C984 之类的字符串

于 2011-04-06T23:01:17.867 回答
1

这已经有几年了,但我最近不得不解决同样的问题。我的解决方案是将唯一标识符简单地转换为 VARCHAR,这样可以使我的 Python 代码保持整洁:

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

然后在 Python 中,只需输出 row.my_id。

于 2015-07-20T19:44:55.593 回答