微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 Neo4j python 驱动程序中写入事务时出现异常:“neo4j.exceptions.AuthError: {code: None} {message: None}”

如何解决在 Neo4j python 驱动程序中写入事务时出现异常:“neo4j.exceptions.AuthError: {code: None} {message: None}”

我正在尝试运行文档中提到的示例 - https://neo4j.com/developer/python/#_resources

class HelloWorldExample:

    def __init__(self,uri,user,password):
        self.driver = GraphDatabase.driver(uri,auth=(user,password))

    def close(self):
        self.driver.close()

    def print_greeting(self,message):
        with self.driver.session() as session:
             greeting = session.write_transaction(self._create_and_return_greeting,message)
             print(greeting)

    @staticmethod
    def _create_and_return_greeting(tx,message):
        result = tx.run("CREATE (a:Greeting) "
                    "SET a.message = $message "
                    "RETURN a.message + ',from node ' + id(a)",message=message)
        return result.single()[0]


if __name__ == "__main__":
    greeter = HelloWorldExample("bolt://localhost:7687","neo4j","password")
    greeter.print_greeting("hello,world")
    greeter.close()

错误是 -

Traceback (most recent call last):
  File "createneodb.py",line 26,in <module>
    greeter.print_greeting("hello,world")
  File "createneodb.py",line 13,in print_greeting
    greeting = session.write_transaction(self._create_and_return_greeting,message)
  File "C:\Users\omras\AppData\Local\Programs\Python\python37\lib\site-packages\neo4j\work\simple.py",line 435,in write_transaction
    return self._run_transaction(WRITE_ACCESS,transaction_function,*args,**kwargs)
  File "C:\Users\omras\AppData\Local\Programs\Python\python37\lib\site-packages\neo4j\work\simple.py",line 336,in _run_transaction
    self._open_transaction(access_mode=access_mode,database=self._config.database,Metadata=Metadata,timeout=timeout)
  File "C:\Users\omras\AppData\Local\Programs\Python\python37\lib\site-packages\neo4j\work\simple.py",line 271,in _open_transaction
    self._connect(access_mode=access_mode,database=database)
  File "C:\Users\omras\AppData\Local\Programs\Python\python37\lib\site-packages\neo4j\work\simple.py",line 122,in _connect
    bookmarks=self._bookmarks
  File "C:\Users\omras\AppData\Local\Programs\Python\python37\lib\site-packages\neo4j\io\__init__.py",line 805,in acquire
    return self._acquire(self.address,timeout)
  File "C:\Users\omras\AppData\Local\Programs\Python\python37\lib\site-packages\neo4j\io\__init__.py",line 660,in _acquire
    connection = self.opener(address,line 789,in opener
    **pool_config
  File "C:\Users\omras\AppData\Local\Programs\Python\python37\lib\site-packages\neo4j\io\__init__.py",line 340,in open
    connection.hello()
  File "C:\Users\omras\AppData\Local\Programs\Python\python37\lib\site-packages\neo4j\io\_bolt4.py",line 98,in hello
    self.fetch_all()
  File "C:\Users\omras\AppData\Local\Programs\Python\python37\lib\site-packages\neo4j\io\__init__.py",line 517,in fetch_all
    detail_delta,summary_delta = self.fetch_message()
  File "C:\Users\omras\AppData\Local\Programs\Python\python37\lib\site-packages\neo4j\io\_bolt4.py",in fetch_message
    response.on_failure(summary_Metadata or {})
  File "C:\Users\omras\AppData\Local\Programs\Python\python37\lib\site-packages\neo4j\io\_common.py",line 202,in on_failure
    raise AuthError(message)
neo4j.exceptions.AuthError: {code: None} {message: None}

详情:

驱动程序对象以及会话对象已成功初始化。然而,问题在于调用 write_transaction 时。我无法理解问题的根源。

解决方法

我最近遇到了这个错误,最终的原因是我的用户名/密码有问题。我在我引用的配置文件中弄错了它们。这令人困惑,因为错误直到我调用 .run() 方法的行才出现,即使我在代码中较早地建立了会话。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。