- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我在 Java 的嵌入式环境中使用 OrientDB。我正在我的应用程序中创建数据库和类并插入数据。当我通过控制台查看数据时,我可以看到数据库中的类,以及类中正确的行数。但是,当我尝试通过此命令 browse class testData
浏览类中的数据时,我收到以下错误
错误:com.orientechnologies.orient.core.exception.OSerializationException:发现无效的 % 字符。确保正确打开和关闭。
我已经搜索了我的源数据,它不包含任何 %
。我知道 OrientDB 对间距很敏感,尤其是像 )
这样的字符,但我所拥有的数据同样没有使用似乎有错误的字符。
有人遇到过这种错误吗?关于如何解决错误的任何想法?
创建数据库的代码
private void createNewOrientDatabase(){
String dbPath = "plocal:./db/test";
orientDatabase = new ODatabaseDocumentTx(dbPath).create();
}
创建类的代码
public void createClasses(Table t){
if(orientDatabase.getMetadata().getSchema().getClass(t.getName()) == null) {
orientDatabase.getMetadata().getSchema().createClass(t.getName());
}
}
插入数据的代码
public void insertData(Table table, TableSource data){
for (String s : data){
ODocument document = new ODocument(table.getName());
String[] parts = s.split(",");
for(int i = 0; i < table.getColumns().size(); ++i){
document.field(table.getColumns().get(i).getName(),parts[i]);
}
document.save();
}
}
有多个类,但对于给定的类,数据可能看起来像这样 43840,533,1,1,3,4
只是为了让您了解数据的样子.
一如既往,提前感谢您的帮助!
最佳答案
找到错误原因...
当我为列名称解析我的源数据时,它们的格式为 integer name;
而我忘记从名称中删除 ;
。因此,当我在文档中创建字段时,名称末尾有 ;
,这导致在 OrientDB 控制台中尝试浏览该类时出现错误。
关于java - 尝试通过控制台浏览类时出现 OrientDB 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23829681/
我对 OrientDB 中的多重继承很好奇...假设我创建了以下顶点类: CREATE CLASS A EXTENDS V CREATE PROPERTY A.label STRING CREATE
generic 类和vertex 或edge 类有什么区别?你为什么要用一个而不是另一个? 最佳答案 OrientDB 是一个多模型数据库。文档中介绍了数据建模: http://orientdb.co
如何在 Orientdb 中使 Edge 独一无二。 我想出的解决方案: 删除边 重新创建 但这并不好。 Edge 没有任何属性。 示例: create edge is_friend from #12
这是我现在使用的查询: INSERT INTO details SET name = "INITIALIZE",actionMap ={"1":12:1,"2":12:2}; 这里 12:1,12:2
考虑我们有 Vertex User 和 Edge FriendsWith。FriendsWith 可以在两个方向上进出(通常是在 2 个用户之间或在 2 个用户之间)。 重复是指从一个用户到另一个用户
是否可以删除 OrientDB 文档中嵌入列表中的一项?我有一个“个人数据”文档,其中包含“查询”列表。例如 { name: "Marco", inquiries: [{date: 2014-11-2
我想查询具有特定属性的文档。 我尝试了以下方法: select * from Foo where not bar is null 但这会返回我的文档,即使它们没有该属性。即使它可以工作,但如果存在以
我的问题是,我如何查询“聊天”表以检索个人资料表中的人员详细信息。 ParticipatinIn edge 从 Person 开始聊天。HasProfile Edge 开始了个人资料。 请帮我解决这个
我想查询具有特定属性的文档。 我尝试了以下方法: select * from Foo where not bar is null 但这会返回我的文档,即使它们没有该属性。即使它可以工作,但如果存在以
是否有可能得到一个例子来在 orientdb 中插入一条边。如果它不存在,有没有办法检查边是否存在,如果存在则只更新边,否则创建新边。我使用的是 Orientdb 2.1.13 版本。谢谢 最佳答案
我试图让 OrientDB Studio 显示一个字符串作为每个节点的标签,就像 Susheel Kumar 的这个截图一样 但是,当我运行 Susheel 的代码(为后代发布在下面)时,节点全部显示
我有一个相当复杂的查询 SELECT FROM ( SELECT EXPAND(INV()) FROM ( SELECT FROM ( SELECT EXPAND(OUTE('
我猜这是一个令人尴尬的初学者问题,无论如何... 在“服务器安全”下的 OrientDB 文档中,我们发现: While OrientDB Server can function as a regul
我有一个 CSV 文件,有 Id1 和 Id2。 Id1 和 Id2 是两个不同类的顶点。我想在 Id1 和 Id2 之间取得优势。这可以通过ETL实现吗? 我们可以在变压器的边缘配置中添加一些东西来
我正在研究 OrientDB 进行学术研究。我们应该关注的一个重要部分是 ACID 范式。 OrienDB 手册说: OrientDB is an ACID compliant DBMS. 它还说:
我正在使用 OrientDB 2.1.9 并创建了名为“TimespentEvents”的 plocal 图数据库。 当尝试在同一台机器上使用 JDBC 驱动程序从 Java 连接 URL 'jdbc
我想在 OrientDB 中使用蓝图和管道。 方法是什么?还有 TinkerPop3 或 TinkerPop2?哪个更适合我的学习体验? 最佳答案 OrientDB 的最新版本在本地实现了 Bluep
我一直在尝试使用 OrientDB 提供的“工作室”将 gremlin 与 OrientDB (V 3.0.30) 一起使用,但每次我尝试运行 gremlin 查询,例如 g.V我收到错误:com.o
昨天我们的 nexus 存储库实例由于磁盘已满事件而横盘整理。释放一些空间并尝试重新启动后,nexus 不再可用。结果,数据库损坏(大概)并且无法连接。当我运行 nexus-orient-consol
我正在使用带有 OrientDb Studio 2.2.8 的车辆历史数据库,并且我想要投影 automobile 类由 起亚。 数据库的架构如下所示: (汽车)--isModel-->(型号)--i
我是一名优秀的程序员,十分优秀!