-1

pyodbc を使用して MSSQL データベースにアクセスしました。

MSSQL から uniqueidentifier フィールドを読み取るとき、私の MacOS では、udid フィールドの正しい値を出力できます (例: 4C444660-6003-13CE-CBD5-8478B3C9C984)。ただし、Linux CentOS で同じコードを実行すると、非常に奇妙な文字列が表示されます。 "???E??6??????c" のように、値の型は MacOS のような "str" ではなく "buffer" です。

その理由と、Linux で uidi の正しい値を取得するにはどうすればよいか説明していただけますか? ありがとう

4

2 に答える 2

1

これは数年前のものですが、最近この同じ問題に取り組む必要がありました。私の解決策は、一意の識別子を VARCHAR として単純に CAST することでした。これにより、Python コードが整頓された状態に保たれました。

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

次に、Python で単純に row.my_id を出力します。

于 2015-07-20T19:44:55.593 に答える