2016-04-25 2 views
0

私はpyorientのgithub Readmeで与えられた例に従おうとしていました。私はclient.record_createを使用してバイナリフィールドを挿入しようとし、client.record_loadを使って同じものをロードしようとしました。pyorientを使用してorientdbにバイナリデータを格納および取得する方法は?

>>> client.db_create('animals', pyorient.DB_TYPE_DOCUMENT, pyorient.STORAGE_TYPE_MEMORY) 
>>> cluster_id = client.command("create class animal") 
>>> rec = { '@animal': { 'accommodation': 'house1', 'work': 'office1', 'holiday': b'\xb8P\xa7\x00l|\xa7\x13\x8d\xc8\x80_M\xa0\x11V\xe3 ,G\x1d\xad \x08\xf5rZ\xafc\x16\x1c(' } } 
>>> rec_position = client.record_create(cluster_id[0], rec) 
>>> loaded = client.record_load(rec_position._rid) 
>>> loaded.oRecordData 
{'holiday': None, 'work': 'office1', 'accommodation': 'house1'} 

ご覧のとおり、取得されるバイナリフィールドの値はNoneです。 pyorientは生のバイトの挿入をサポートしていますか?そうでない場合、いくつかの回避策がありますか?

+0

を追加してみて? –

+0

OrientDbコミュニティ版v.2.1.15を使用しています –

答えて

0

ない結果が正しいかどうか確認してください、しかし、あなたは、あなたが使用しているODBバージョン「」

>>> rec = { '@animal': { 'accommodation': 'house1', 'work': 'office1', 'holiday': "b'\xb8P\xa7\x00l|\xa7\x13\x8d\xc8\x80_M\xa0\x11V\xe3 ,G\x1d\xad \x08\xf5rZ\xafc\x16\x1c('" } } 
+0

上記のコマンドはNoneを返しませんでしたが、保存されているバイナリデータが変更されているようです。 私は質問と同じ一連のコマンドを実行し、この出力を得ました。 ''> loaded.oRecordData {'休日':"b'¸P§\ x00l |§\ x13 \x8dÈ\ x80_M \ xa0 \x11Vã、G \ x1d \ xad \x08õrZ¯c\ x16 \ x1c ( ''、 'work': 'office1'、 'accommodation': 'house1') ' –

関連する問題