orientechnologies / orientdb

OrientDB is the most versatile DBMS supporting Graph, Document, Reactive, Full-Text and Geospatial models in one Multi-Model product. OrientDB can run distributed (Multi-Master), supports SQL, ACID Transactions, Full-Text indexing and Reactive Queries.
https://orientdb.dev
Apache License 2.0
4.73k stars 871 forks source link

oetl.sh - "Error on serialization of Serializable" importing from Oracle CLOB columns #3801

Closed andbern closed 3 years ago

andbern commented 9 years ago

Using the oetl.sh to import data from an Oracle db, all the fields (varchar, integer, ...) are correctly loaded except when CLOB columns are included (when the CLOB filed is null the recordo is correctly loaded).

This is the error:

OrientDB etl v.2.0.5 (build @BUILD@) www.orientechnologies.com ……. [3:vertex] DEBUG Transformer input: {ID:3917236,TITLE:IO NON GUARDO LA TELE;,ISPUBLIC:1,CREATIONDATE:2008-09-23 14:25:46.0,DESCRIPTION:oracle.sql.CLOB@46838f70} Error in Pipeline execution: com.orientechnologies.orient.core.exception.ODatabaseException: Error on serialization of Serializable com.orientechnologies.orient.core.exception.ODatabaseException: Error on serialization of Serializable at com.orientechnologies.orient.core.serialization.serializer.record.binary.OSerializableWrapper.toStream(OSerializableWrapper.java:34) at com.orientechnologies.orient.core.serialization.serializer.record.binary.ORecordSerializerBinaryV0.writeSingleValue(ORecordSerializerBinaryV0.java:581) at com.orientechnologies.orient.core.serialization.serializer.record.binary.ORecordSerializerBinaryV0.serialize(ORecordSerializerBinaryV0.java:255) at com.orientechnologies.orient.core.serialization.serializer.record.binary.ORecordSerializerBinary.toStream(ORecordSerializerBinary.java:104) at com.orientechnologies.orient.core.record.impl.ODocument.toStream(ODocument.java:2061) at com.orientechnologies.orient.core.record.impl.ODocument.toStream(ODocument.java:683) at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.executeSaveRecord(ODatabaseDocumentTx.java:1658) at com.orientechnologies.orient.core.tx.OTransactionNoTx.saveRecord(OTransactionNoTx.java:94) at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.save(ODatabaseDocumentTx.java:2277) at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.save(ODatabaseDocumentTx.java:117) at com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:1706) at com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:1697) at com.tinkerpop.blueprints.impls.orient.OrientElement.save(OrientElement.java:305) at com.tinkerpop.blueprints.impls.orient.OrientElement.save(OrientElement.java:285) at com.tinkerpop.blueprints.impls.orient.OrientElement.setProperty(OrientElement.java:186) at com.orientechnologies.orient.etl.transformer.OVertexTransformer.executeTransform(OVertexTransformer.java:83) at com.orientechnologies.orient.etl.transformer.OAbstractTransformer.transform(OAbstractTransformer.java:37) at com.orientechnologies.orient.etl.OETLPipeline.execute(OETLPipeline.java:108) at com.orientechnologies.orient.etl.OETLProcessor.executeSequentially(OETLProcessor.java:483) at com.orientechnologies.orient.etl.OETLProcessor.execute(OETLProcessor.java:291) at com.orientechnologies.orient.etl.OETLProcessor.main(OETLProcessor.java:163) Caused by: java.io.NotSerializableException: oracle.jdbc.driver.T4CConnection at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1181) at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1541) at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1506) at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1429) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1175) at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:347) at com.orientechnologies.orient.core.serialization.serializer.record.binary.OSerializableWrapper.toStream(OSerializableWrapper.java:31) ... 20 more ETL process halted: com.orientechnologies.orient.etl.OETLProcessHaltedException: com.orientechnologies.orient.core.exception.ODatabaseException: Error on serialization of Serializable

lvca commented 9 years ago

I think Oracle CLOB type isn't supported. I've not an Oracle DB to test, could you please see how CLOB is managed? We could do a fix to support it.