我正在使用pyorient 1.5.4和docker for orientdb 2.2.5
如果我使用浏览器连接数据库,服务器显然正在运行。 如果我连接pyorient,我会收到错误。
以下是我用来连接数据库的代码:
import pyorient
database = pyorient.OrientDB('127.0.0.1', 2424)
database.db_open(
'myDB',
'root',
'mypassword',
db_type='graph'
)
我收到以下错误:
pyorient.exceptions.PyOrientConnectionException: Server seems to have went down
我使用以下命令创建了docker容器:
docker run -d --name orientdb -p 2424:2424 -p 2480:2480 -v /home/myuser/Code/database:/orientdb/databases -e ORIENTDB_ROOT_PASSWORD=mypassword orientdb:latest /orientdb/bin/server.sh -Ddistributed=true
服务器正在运行,因为通过浏览器连接正常。
似乎必要的端口是开放的,为什么pyorient认为数据库已关闭?
答案 0 :(得分:2)
我发现了我的问题。我用:
启动了docker容器-Ddistributed=true
删除参数使我能够正常连接。
但是,我发现当尝试解析在分布式模式下从orientDB返回的数据包时,pyorient会进入无限循环。这是由于pyorient上的一个错误。这里有更详细的解释:
https://github.com/mogui/pyorient/issues/215#issuecomment-245007336