cx_Oracle 5.x does not handle SMALLINT and FLOAT db types. I am unsure about v6, but fix for 5.x is in https://github.com/oracle/python-cx_Oracle/pull/3