写在前面:
OrientDB是一款功能很强大的数据库,兼具了图数据库与键值对数据库的特点,非常适合用于知识图谱的构建。我们部门的新项目要求用OrientDB代替mongodb和neo4j,从而只用一款数据库完成数据存储与绘图的两部分功能。
但是!OrientDB的python连接教程真的就是一坨shit。。。讲的及其不清楚而且还错误一大堆,网上没有什么这方面的教程,因此我就在这篇中讲一下我所遇到的问题与解决方法。
教程使用过程中的问题
- 报错:Wrong user/password to [connect] to the remote OrientDB Server instance
基本上这个错误都是在连接数据库的时候发生的。由于pyorient中connect函数是指连接server,而非database,因此需要把下面这句:
session_id = client.connect( "admin", "admin" )
改为:
session_id = client.connect( "root", "初始安装orient时设定的密码" ) // 可以在config/orientdb-server-config.xml中找到密码
这里要注意的是,如果你直接在console里按照 “admin”, “admin” 进行连接,是可以连接上的。这是因为console里的connect是用来连接database的,因此你可以自己加用户,更改用户权限等等。但是并不是你把用户权限改为admin了就可以连接server了的意思,所以即使你加上了用户admin,给它也赋予了最高权限,你仍然不能在pyorient的connect中使用。
2. 插入数据时报错
client.command("insert into my_class ( 'id','’name' ) values( 1201, 'satish')")