For the past few days I've been trying to get the orientdb-etl process to 
import data from either JDBC or CSV, but I can't get it to parse my 
configuration files.  I've tried on both Windows and Linux, but I end up 
with the same "Error on unmarshalling JSON content" every time.  According 
to JSON Lint my JSON is valid.  None of the values are NULL, empty strings, 
or contain backslashes.

*Configuration File (company.json) contents*
{
    "config": { "log": "debug" },
    "extractor": {
        "jdbc": {
            "driver": "com.microsoft.sqlserver.jdbc.SQLServerDriver",
            "url": "jdbc:sqlserver://serverIP:Port;databaseName=DBName;",
            "userName": "**********",
            "userPassword": "**********",
            "query": "SELECT [COMPANY_ID],[COMPANY_NAME],[TRUE_LAST_DATE] 
FROM [Testing].[Company]"
        }
    },
    "transformers": [
        { "vertex": { "class": "Company", "skipDuplicates": true } }
    ],
    "loader": {
        "orientdb": {
            "dbURL": "plocal:/databases/iirDev",
            "dbType": "graph",
            "dbAutoCreate": true,
            "standardElementConstraints": false,
            "classes": [ { "name": "Company", "extends": "V" } ]
        }
    }
}


*Resulting Error Messages*
*Windows*
G:\orientdb\bin>oetl.bat company.json
OrientDB etl v.2.0.6 (build @BUILD@) www.orientechnologies.com
Exception in thread "main" 
com.orientechnologies.orient.core.exception.OSerializationException: Error 
on unmarshalling JSON content '{
    "config": { "log": "debug" },
    "extractor": {
        "jdbc": {
            "driver": "com.microsoft.sqlserver.jdbc.SQLServerDriver",
            "url": "jdbc:sqlserver://serverIP:Port;databaseName=DBName;",
            "userName": "**********",
            "userPassword": "**********",
            "query": "SELECT [COMPANY_ID],[COMPANY_NAME],[TRUE_LAST_DATE] 
FROM [Testing].[Company]"
        }
    },
    "transformers": [
        { "vertex": { "class": "Company", "skipDuplicates": true } }
    ],
    "loader": {
        "orientdb": {
            "dbURL": "plocal:/databases/iirDev",
            "dbType": "graph",
            "dbAutoCreate": true,
            "standardElementConstraints": false,
            "classes": [ { "name": "Company", "extends": "V" } ]
        }
    }
}': content must be between { }
        at 
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerJSON.unwrapSource(ORecordSerializerJSON.java:399)
        at 
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerJSON.fromString(ORecordSerializerJSON.java:173)
        at 
com.orientechnologies.orient.core.record.ORecordAbstract.fromJSON(ORecordAbstract.java:165)
        at 
com.orientechnologies.orient.core.record.impl.ODocument.fromJSON(ODocument.java:1649)
        at 
com.orientechnologies.orient.etl.OETLProcessor.main(OETLProcessor.java:145)
G:\orientdb\bin>
*Linux*
orientdb@linux:/usr/bin/orientdb/bin> sh oetl.sh company.json
OrientDB etl v.2.0.6 (build @BUILD@) www.orientechnologies.com

2015-04-13 21:19:11:187 WARNING Not enough physical memory available for 
DISKCACHE: 1,999MB (heap=494MB). Set lower Maximum Heap (-Xmx setting on 
JVM) and restart OrientDB. Now running with DISKCACHE=256MB 
[orientechnologies]Exception in thread "main" 
com.orientechnologies.orient.core.exception.OSerializationException: Error 
on unmarshalling JSON content '{
    "config": { "log": "debug" },
    "extractor": {
        "jdbc": {
            "driver": "com.microsoft.sqlserver.jdbc.SQLServerDriver",
            "url": "jdbc:sqlserver://serverIP:Port;databaseName=DBName;",
            "userName": "**********",
            "userPassword": "**********",
            "query": "SELECT [COMPANY_ID],[COMPANY_NAME],[TRUE_LAST_DATE] 
FROM [Testing].[Company]"
        }
    },
    "transformers": [
        { "vertex": { "class": "Company", "skipDuplicates": true } }
    ],
    "loader": {
        "orientdb": {
            "dbURL": "plocal:/databases/iirDev",
            "dbType": "graph",
            "dbAutoCreate": true,
            "standardElementConstraints": false,
            "classes": [ { "name": "Company", "extends": "V" } ]
        }
    }
}': content must be between { }
        at 
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerJSON.unwrapSource(ORecordSerializerJSON.java:399)
        at 
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerJSON.fromString(ORecordSerializerJSON.java:173)
        at 
com.orientechnologies.orient.core.record.ORecordAbstract.fromJSON(ORecordAbstract.java:165)
        at 
com.orientechnologies.orient.core.record.impl.ODocument.fromJSON(ODocument.java:1649)
        at 
com.orientechnologies.orient.etl.OETLProcessor.main(OETLProcessor.java:145)

Does anyone have any ideas on what is going on here?

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"OrientDB" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to