【问题标题】:Read uniqueidentifier field from MSSQL using python使用 python 从 MSSQL 读取 uniqueidentifier 字段
【发布时间】:2011-04-04 14:44:06
【问题描述】:

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

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

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

【问题讨论】:

    标签: python sql-server uniqueidentifier pyodbc


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-01-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-11-08
        • 2016-11-25
        • 2012-04-22
        相关资源
        最近更新 更多