Orient DB - 使用指定的数据表导出数据库

时间:2015-03-31 08:58:12

标签: java export orientdb

我正在使用orient db,我必须使用java导出指定的数据表。以下是我正在使用的代码:

ODatabaseDocumentTx db = new ODatabaseDocumentTx("remote:localhost/sampleDB").open("admin", "admin");

        try {
            OCommandOutputListener listener = new OCommandOutputListener() {
                @Override
                public void onMessage(String iText) {
                    // System.out.print(iText);
                }
            };

            Set<String> abcd = new HashSet<String>();
            abcd.add("sample_demo1_OnlineShopping");

            System.out.println(abcd);

            ODatabaseExport export = new ODatabaseExport(db, "DataCont/Data.gz", listener);

            export.setIncludeInfo(false);
            export.setIncludeClusterDefinitions(false);
            export.setIncludeSchema(false);
            export.setIncludeIndexDefinitions(false);
            export.setIncludeManualIndexes(false);

            export.setIncludeClasses(abcd);

//          export.exportRecords();
            export.exportDatabase();
            export.close();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            db.close();
        }

问题是,它不包括任何类。输出文件是这样的:

{"records":[]}

但是当我尝试没有“setIncludeClasses”时,它会打印数据库中可用的所有类。这个问题会出现什么问题。提前谢谢。

1 个答案:

答案 0 :(得分:1)

将此行更改为:

abcd.add("sample_demo1_OnlineShopping".toUpperCase());

我没有在文档中找到它,但是 includeClasses 期望在UpperCase中使用类(对于 excludeClasses 也是如此)。

请参阅the source code