Open Judit opened 7 years ago
Have you tried passing the --ssl
flag?
Hello @nicolewhite, the issue still persists using the --ssl
flag.
Here are some examples of connection issues against Neo4j 3.1.4:
Cycli version:
$ cycli -v
cycli 0.7.6
Passing the port number for Bolt and the ssl flag:
$ cycli -h db-ba7d0ffd9ejjgigs7w22.graphenedb.com -P 24786 -u testuser -p b.RM3HBvS5UQK6.aNjGi2ejfw2NOfgp --ssl
Traceback (most recent call last):
File "/usr/local/bin/cycli", line 11, in <module>
sys.exit(run())
File "/usr/local/lib/python2.7/site-packages/click/core.py", line 664, in __call__
return self.main(*args, **kwargs)
File "/usr/local/lib/python2.7/site-packages/click/core.py", line 644, in main
rv = self.invoke(ctx)
File "/usr/local/lib/python2.7/site-packages/click/core.py", line 837, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/usr/local/lib/python2.7/site-packages/click/core.py", line 464, in invoke
return callback(*args, **kwargs)
File "/usr/local/lib/python2.7/site-packages/cycli/main.py", line 275, in run
cycli = Cycli(host, port, username, password, logfile, filename, ssl, read_only, timeout)
File "/usr/local/lib/python2.7/site-packages/cycli/main.py", line 37, in __init__
self.neo4j = Neo4j(host, port, username, password, ssl, timeout)
File "/usr/local/lib/python2.7/site-packages/cycli/driver.py", line 50, in __init__
self.graph = Graph(uri, user=username, password=password, bolt=bolt, secure=ssl)
File "/usr/local/lib/python2.7/site-packages/py2neo/database/__init__.py", line 327, in __new__
use_bolt = version_tuple(inst.__remote__.get().content["neo4j_version"]) >= (3,)
TypeError: string indices must be integers, not str
Passing the port number for HTTPS and the ssl flag:
$ cycli -h db-ba7d0ffd9ejjgigs7w22.graphenedb.com -P 24780 -u testuser -p b.RM3HBvS5UQK6.aNjGi2ejfw2NOfgp --ssl
Traceback (most recent call last):
File "/usr/local/bin/cycli", line 11, in <module>
sys.exit(run())
File "/usr/local/lib/python2.7/site-packages/click/core.py", line 664, in __call__
return self.main(*args, **kwargs)
File "/usr/local/lib/python2.7/site-packages/click/core.py", line 644, in main
rv = self.invoke(ctx)
File "/usr/local/lib/python2.7/site-packages/click/core.py", line 837, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/usr/local/lib/python2.7/site-packages/click/core.py", line 464, in invoke
return callback(*args, **kwargs)
File "/usr/local/lib/python2.7/site-packages/cycli/main.py", line 275, in run
cycli = Cycli(host, port, username, password, logfile, filename, ssl, read_only, timeout)
File "/usr/local/lib/python2.7/site-packages/cycli/main.py", line 37, in __init__
self.neo4j = Neo4j(host, port, username, password, ssl, timeout)
File "/usr/local/lib/python2.7/site-packages/cycli/driver.py", line 50, in __init__
self.graph = Graph(uri, user=username, password=password, bolt=bolt, secure=ssl)
File "/usr/local/lib/python2.7/site-packages/py2neo/database/__init__.py", line 327, in __new__
use_bolt = version_tuple(inst.__remote__.get().content["neo4j_version"]) >= (3,)
File "/usr/local/lib/python2.7/site-packages/py2neo/database/http.py", line 157, in get
raise Unauthorized(self.uri.string)
py2neo.database.status.Unauthorized: https://db-ba7d0ffd9ejjgigs7w22.graphenedb.com:24780/db/data/
Note: this database has been deleted any further connection attempt using this set or another set of credentials will fail.
I'm facing the same problem; my setup has HTTP at :8080 and BOLT at :8081. I cannot use the default ports.
$ cycli --host example.com -P 8080 -u user -p password
______ __ __ ______ __ __
/\ ___\ /\ \_\ \ /\ ___\ /\ \ /\ \
\ \ \____ \ \____ \ \ \ \____ \ \ \____ \ \ \
\ \_____\ \/\_____\ \ \_____\ \ \_____\ \ \_\
\/_____/ \/_____/ \/_____/ \/_____/ \/_/
Cycli version: 0.7.6
Neo4j version: 3.4.0
Bug reports: https://github.com/nicolewhite/cycli/issues
> MATCH (:USER) RETURN COUNT(*);
[Errno 110] Connection timed out
It appears cycli is able to get some information from the database though, since autocomplete works and schema
output is correct.
I'm having troubles connecting with a database hosted in GrapheneDB using
cycli 0.7.6
. I'm only able to connect databases with Neo4j version < 3.If I try the same parameters that I used to connect with a database >= 3, I get the following:
I think passing
bolt=None
to py2neo makes it try to connect via Bolt. The database version is >= 3, but GrapheneDB uses a non-standard port for Bolt connections and also needs to use TLS secure connections. I managed to connect to my database using py2neo with the following options:It would be great if you can add more options to be able to use your tool for GrapheneDB (at least: bolt, bolt_port). Currently, with databases >= 3 is not possible to connect with neither HTTP/HTTPS, nor Bolt protocol.