Кто-нибудь знает, что означает эта ошибка? Ниже приведен метод класса, который возвращает ошибку sqlalchemy.exc.CompileError: Диалект «оракул» с текущими настройками версии базы данных не поддерживает пустые вставки.
Я использую тот же метод класса в sqlserver, и он работает. как обойти это в оракуле с помощью sqlalchemy orm?
def insertr(self, tablename, data, schema=None):
def convert_nan(v):
if pd.isnull(v) or pd.isna(v):
v = None
return v
class DbTable(object):
pass
engine = self.engine
metadata = MetaData(bind=engine)
table = Table(tablename, metadata, autoload=True, quote=True, schema=schema)
mapper(DbTable, table)
DbTable.__getattribute__(DbTable, self.primary_key)
insert_rows = [{k: convert_nan(v) for k, v in check_ir.items()} for check_ir in data]
session = sessionmaker(bind=engine)()
session.bulk_insert_mappings(DbTable, insert_rows)
session.commit()
session.flush()
и данные, которые я пытаюсь вставить, выглядят так:
[{'coll': 10, 'col2': 'value'}, {'col1': 20, 'col2': 'value'}]