Python MongoDB clob异常

时间:2014-12-20 14:46:49

标签: python mongodb

我正在使用python将数据从oracle迁移到Mongo DB,而迁移我能够使用clob.read()读取clob对象,但是在插入mongo DB时它会抛出一个例外

  

追踪(最近的电话   last):db.test234.insert(i)中的文件" test.py",第39行   文件" C:\ Python27 \ lib \ sitepackages \ pymongo \ collection.py",409行,   在插入gen(),check_keys,self.uuid_subtype,client)中   InvalidStringData:文档中的字符串必须是有效的UTF-8:   '恶意攻击驱动程序\ r \ n
  ----------------------- \ r \ n \ r \ n

这是一项努力(恶意攻击驱动程序)包含的包装程序,提供测试脚本基础结构来运行不同的攻击工具,漏洞扫描程序,黑客工具等。目标是在所有可以从远程运行攻击/测试的协议中提供通用API。

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

检查了很多论坛和堆栈溢出,无法找到问题的确切解决方案,尝试过编码clob数据等选项仍然抛出同样的异常

1 个答案:

答案 0 :(得分:0)

您需要将数据提供给UTF8,因此您需要知道Oracle DB中使用的编码。首先解码,然后编码为UTF8。例如,如果数据是在Oracle DB中的latin1中编写的:

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

您现在应该可以存储utf8_representation