2014-12-20 34 views
5

Ben göç veriyorum o clob.read() kullanarak clob nesnesini okuyabiliyorken geçirme sırasında oracle verileri Mongo DB kullanarak python kullanarak geçiriyorum, ancak mongo DB içine eklerkenPython MongoDB clob özel durumu

söyleyerek bir özel durum atıyor

traceback (en son çağrı son): Dosya "test.py", satır 39, db.test234.insert (i) Dosya "C: \ Python27 \ lib \ sitepackages \ pymongo \ collection.py ", satır 409, insert gen(), check_keys, self.uuid_subtype, istemci)
InvalidStringData: belgelerdeki dizeler geçerli olmalıdır. UTF-8: 'Kötü Amaçlı Saldırı Sürücüsü \ r \ n
----------------------- \ r \ n \ r \ n

Bu (Zararlı saldırı sürücüsü) için bir çaba içeren sarıcı rutinlerinin farklı saldırı araçlarını, güvenlik açığı tarayıcılarını, hacker araçlarını çalıştırabilmesi için test komut dosyası altyapısı sağlaması. Amaç, bir protokolden saldırı/testi çalıştırabilen tüm protokollerde ortak API'lar sağlamaktır.

'REVIEW_DESCRIPTION', type 'cx_Oracle.CLOB', -1, 4000, 0, 0, 0 

yüzden, hala aynı istisna

Sen UTF8 veri almak gerekir
+0

Verileri pythom kullanarak utf-8'e kodladıktan sonra mongodb içine sokmayı denediniz mi? – The6thSense

+0

En az bir örnek oluşturmaya ve tüm bilgileri (eklenecek dize, tam Python kodunuz, kullanılmış MongoDB sürümü vb.) Göndermeyi deneyin. – lumbric

cevap

0

atılan clob verileri kodlayan gibi seçenekleri denedik, sorun için kesin çözüm bulamıyorsanız, forumlar ve yığın taşması birçok kontrol Oracle DB'de hangi kodlamanın kullanıldığını bilmeniz gerekir. Önce kodu çöz ve UTF8'e kodla. Örneğin, veri Oracle DB latin1 yazıldıysa:

unicode_representation = oracle_representation.decode('latin1') 
utf8_representation = unicode_representation.encode('utf8') 

Artık utf8_representation saklamak gerekir.

İlgili konular